ubuntu 安装完后对于开发需要做的事情

是从 https://www.osboxes.org/ubuntu/ 下载的vdi文件,估计vmware对应的应该也有。

1. 安装 openssh-server 
apt-get install openssh-server

可以对 openssh server进行配置
$ sudo vi /etc/ssh/sshd_config
找到PermitRootLogin no一行,改为PermitRootLogin yes;虽然这样介绍,但我发现实际并不需要设置
开启图形界面登陆:

//要修改配置文件,首先要切换到超级用户

另外 在ubuntu12下,在/etc/rc.local中增加:
/etc/init.d/ssh start

user@ubuntu:~# sudo -s

ubuntu12下这么操作

user@ubuntu:~# vi /etc/lightdm/lightdm.conf

//在最后面添加一行greeter-show-manual-login=true
[SeatDefaults]
user-session=ubuntu
greeter-session=unity-greeter
greeter-show-manual-login=true

ubuntu14下则这么操作:

vi /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf
在打开的文件里添加一句:
greeter-show-manual-login=true

14下关闭防火墙这样操作:

sudo ufw disable # 停掉防火墙并且防止开机启动
14下需要安装 sysv-rc-conf

2. sudo apt-get install build-essential -y

但这个样装的版本可能偏低,大概还是需要

add-apt-repository ppa:ubuntu-toolchain-r/test && apt-get update
apt-get install gcc-6 g++-6 -y
通过这个防范安装的版本是6.2.0。

实际测试无法安装 gcc-7 ...
切换用这个方法:(实际测试发现无法用这个切换,只能更改软链接了)

$sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.4 40  (这里“40” 是优先级,值越大优先级越高)
$sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 60 (本机自带的设置为60更高的优先级)
 
选择系统默认的gcc
$sudo update-alternatives --config gcc
 
可以参考 01-安装和优化Ubuntu18.04作为C/C++的开发环境,安装一些东西,包括IDEA的clion。
 
3. 安装完以后,注意调整空间。osboxes.org的空间一般是20G。对于需要编译android和Linux的需要100G。
参考https://blog.csdn.net/napolunyishi/article/details/42239897,调整空间。
vboxmanage list hdds # 显示磁盘情况
vboxmanage modifyhd "E:\virtualbox\ubuntu\Ubuntu 12.04 Precise (64bit).vdi" --resize 102400  # 以M为单位
 

发现恢复模式无法对跟文件进行修改需要这么做:

mout -o remount,rw /(逗号附近没有空格)。
这样之后就可以直接对fstab文件进行编辑操作了。关于VI的使用和文件的读写权限的内容我将会在以后介绍。
如果你很聪明又fstab的文件备份那就方便了
cat fstab.bak > fstab 就一切OK了!!!

设置label: 
e2label /dev/sda1 root
e2label /dev/sda3 work

查看磁盘信息:
blkid

把label写入/etc/fstab,需要
LABEL=/work /work ext3 defaults 1 1  
但这种方式不可靠,我有次label在扩充容量的时候丢失了。不过UUID并没有改。不建议使用这种方式。

给分区设置一个UUID
tune2fs /dev/sda1 -U 2125190c-0317-4460-8cad-4f5b9fa46633 
产生uuid,用uuid命令。

时间

更改时间

参考 https://blog.csdn.net/zhengchaooo/article/details/79500032操作,简述为。

查看当前系统时间: date -R

如果发现不是东8区,就 tzselect选择时区,Asia-china-beijing

复制文件:cp /usr/share/zoneinfo/Asia/Shanghai  /etc/localtime

修改时间这样操作:

修改时间

sudo date -s MM/DD/YY //修改日期
sudo date -s hh:mm:ss //修改时间
在修改时间以后,修改硬件CMOS的时间

sudo hwclock --systohc

时间同步

apt-get -y install ntp

ntpdate pool.ntp.org

service ntp restart

并行压缩解压缩工具

因为android相关的开发很耗费磁盘空间,我们需要并行压缩和解压缩工具。

安装pbzip2 pigz,(centos下也是安装这两个),只能对文件压缩,不能对文件夹压缩。使用例子:

tar -c R16/* |pbzip2 -c -p11 -k >R16a.bz2
pbzip2 -d -p11 -k  R16a.bz2 && tar -xvf R16a

不用并行的方式,可以这样:

方法1:使用ZIP+SCP
我们可以通过ZIP+SCP的组合实现这个功能。

gzip -c /home/yankay/data | ssh yankay01"gunzip -c - > /home/yankay/data"

这条命令是将/home/yankay/data经过GZIP压缩,通过ssh传输到yankay01的机器上。

data文件的大小是1.1GB,经过Zip压缩后是183MB,执行上面的命令需要45.6s。平均吞吐量为24.7MB/s

方法2:使用scp命令内置的压缩功能
我们会发现Scp也有压缩功能,所以上面的语句可以写成

scp -C -c blowfish /home/yankay/datayankay01:/home/yankay/data

这样运行效果是相同的,不通之处在于我使用了blowfish算法作为Scp的密匙算法,使用这个算法可以比默认的情况快很多。单单对与scp,使用了blowfish 吞吐量是62MB/s,不使用只有46MB/s。

这是一种硬性的技术型方法,下面还介绍一个比较简单的用传输软件解决Linux大文件传输的方法或步骤…

NFS服务和客户端

服务端需要安装: nfs-kernel-server,客户端需要安装 nfs-common

mkdir /home/song/nfs 建立一个nfs服务的专有的文件夹;vim /etc/exports 配置nfs,在文章的最后一行添加:/home/song/nfs *(rw,sync,no_root_squash,no_subtree_check)。

ubuntu12下: 执行命令:sudo /etc/init.d/portmap restart 重启portmap服务。nfs是一个RPC程序,使用它前,需要映射好端口,通过portmap设定。

执行命令:sudo /etc/init.d/nfs-kernel-server restart 重启nfs服务。

ubuntu14下: sudo service rpcbind restart restart, sudo service restartnfs-kernel-server restart。 我实际是在14下测试服务端,在12下测试客户端的。

客户端挂载: sudo mount -t nfs ***.***.***.***:/home/USER/nfs /nfs-client/。 我用sshfs挂载是失败的。印象中,sshfs挂载不需要 -t nfs。sshfs挂载失败后,需要umount ... 来解除错误挂载的情况。

如果没有安装 nfs-common,可能提示出错:

客户端报错:
mount:文件系统类型错误、选项错误、***.***.***.***:/home/USER/nfs 有坏超级块,
      缺少代码页或助手程序,或其他错误
      (对某些文件系统(如 nfs、cifs) 您可能需要
      一款 /sbin/mount.<类型> 助手程序)
      有些情况下在 syslog 中可以找到一些有用信息- 请尝试

dmesg | tail  这样的命令看看。

并行操作

参考

15分钟神器gnu parallel 入门观止

试过 parallel,结果发现在ubuntu 12下,和网上介绍的不一样,目前不可用。

主要用的是xargs -P,例子:

ls lichee/|  xargs -P 0 -I {} cp -af lichee/{} /work/origin/R16a/lichee/

-P 0表示尽量用上所有的处理器,-I {},是定义的占位符。拷贝android相关的目录,这样估计可以快些。

好用的工具

剪切板

sudo add-apt-repository ppa:shantzu/clipit
        sudo apt-get update
        sudo apt-get install clipit

运行clipit&就行了。

社交工具

1.thunderbird安装ExQuilla插件
2帐号设置,打开工具-ExQuilla for Microsoft Exchange-add Microsoft Exchange Account,输入帐号密码,默认设置下一步,在下一个页面选择手动模式。

Lync
sudo apt-get install pidgin pidgin-sipe

QQ

sudo add-apt-repository ppa:lainme/pidgin-lwqq

sudo apt-get update

sudo apt-get install pidgin-lwqq

sudo apt-get install pidgin

尝试用evolution收exchange邮件,失败了。

错误解决

apt-get update时,出现错误:

W: Possible missing firmware /lib/firmware/i915/kbl_guc_ver9_14.bin for module i915
W: Possible missing firmware /lib/firmware/i915/bxt_guc_ver8_7.bin for module i915
这样解决

https://blog.csdn.net/dzhongjie/article/details/84306900

ubuntu16.04 amd64 安装openjdk-9-jdk 错误及解决方案

https://blog.csdn.net/quanaianzj/article/details/80947117?utm_source=blogxgwz1

原因:依赖问题

$ sudo dpkg --configure -a

解决办法:

$ sudo dpkg -i --force-overwrite /var/cache/apt/archives/openjdk-9-jdk_9~b115-1ubuntu1_amd64.deb

$ sudo apt -f install

上一篇:使用 Sonar 检测代码质量


下一篇:apicloud