Ubuntu工作环境搭建

以下内容记录着从安装VirtualBox到安装Ubuntu系统以及常用的工具和配置等流程。本文将持续更新。


安装VirtualBox

VirtualBox一路安装到底,后面具体的细节具体分析。


安装Ubuntu16.04.5

Ubuntu各个版本的镜像可通过Ubuntu各个版本的镜像下载地址这个网站下载到。以16.04的版本为例:http://mirrors.melbourne.co.uk/ubuntu-releases/
图1

这里面包含desktop(桌面)版本、server(服务器)版本,每个版本中包含amd64(64位系统)和i386(32位系统)。

注:
i386就是32位的Ubuntu,amd64就是64位的Ubuntu。
不要以为i386只能用于intel的cpu,amd64只能用于amd的cpu,别被字面意思所迷惑。


创建root账号密码

使用sudo passwd命令,如下

1
2
3
4
victor@ubuntu:~$ sudo passwd 
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully


VirtualBox安装增强功能

为了实现全屏功能共享粘贴共享文件等功能,需要安装增强功能
图2

理论上,安装完毕之后重启VirtualBox之后这些功能就有了。但是我手贱,启动之后又去点击了一次,好像就变成卸载了,全屏功能神奇的消失了。后面当我想要操作一遍,给我的提示为无法挂载,但是在侧边栏可以看到光驱的,只是点不开,尝试手动挂载也不行。
尝试手动挂在提示如下错误:

mount unknown type iso9600

后面根据Can’t mount CD: “unknown filesystem type ‘iso9660’”的说明,发现没有加载对应iso文件系统。以下为解决办法:

  • 查看驱动是否加载

    1
    2
    victor@victor-linux:~$ cat /boot/config-4.15.0-29-generic | grep 9660
    CONFIG_ISO9660_FS=m
  • 查找驱动路径

    1
    2
    victor@victor-linux:~$ find /lib/modules/ -iname "isofs.ko"
    /lib/modules/4.15.0-29-generic/kernel/fs/isofs/isofs.ko
  • 加载驱动

    1
    victor@victor-linux:~$ sudo insmod /lib/modules/4.15.0-29-generic/kernel/fs/isofs/isofs.ko
  • 再次手动挂载后就可以成功了

    1
    2
    victor@victor-linux:~$ mkdir ~/temp
    victor@victor-linux:~$ sudo mount -t auto /dev/dvd ~/temp/
  • 进入~/temp/目录安装工具执行sudo ./VBoxLinuxAdditions.run安装就可以了。


VirtualBox安装增强功能设置共享文件夹

  • VirtuabBox软件配置共享文件夹
    图3

  • ubuntu挂载共享目录

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    victor@victor-linux:~$ mkdir vb_share
    victor@victor-linux:~$ sudo mount -t vboxsf vb_share ~/vb_share
    victor@victor-linux:~/vb_share$ ll
    总用量 10
    drwxrwxrwx 1 root root 4096 10月 21 16:02 ./
    drwxr-xr-x 21 victor victor 4096 10月 21 16:05 ../
    -rwxrwxrwx 1 root root 23 10月 21 15:57 aaa.txt*
    -rwxrwxrwx 1 root root 804 10月 21 16:02 .bash_history*
    drwxrwxrwx 1 root root 0 10月 21 16:02 .cache/
    drwxrwxrwx 1 root root 0 10月 21 16:02 .compiz/
    drwxrwxrwx 1 root root 0 10月 21 15:56 .config/
    -rwxrwxrwx 1 root root 0 10月 21 15:51 .sudo_as_admin_successful*
    -rwxrwxrwx 1 root root 5 10月 21 16:02 .vboxclient-seamless.pid*
  • ubuntu设置开机自动挂载共享目录
    sudo vi /etc/rc.local修改/etc/rc.local文件,新增如下命令:

    1
    2
    echo "start mount vbox share floder"
    sudo mount -t vboxsf vb_share /home/victor/vb_share

设置之后,Windows的共享目录为D:\virtualbox_victor_ubuntu\vb_share,ubuntu下的共享目录为/home/victor/vb_share/
自动启动相关的可以参照:https://blog.csdn.net/qq_14989227/article/details/79227283


VirtualBox安装USB控制器驱动

参考自:https://blog.csdn.net/wf19930209/article/details/73195055

  • 关闭虚拟机,去 https://www.virtualbox.org/wiki/Downloads 的网站下载Oracle VM VirtualBox Extension Pack,注意,一定要下载与自己VirtualBox版本匹配的扩展包,否则会出现如下的错误:
    图6

  • 开启虚拟机,设置分组sudo gedit /etc/group中添加vboxusers:x:123:victor内容,然后关闭虚拟机。

  • VirtualBox中设置如下:
    图7
  • 重启ubuntu后,插上U盘,就可以被虚拟机识别到了。
    图8

以上基本上都是关于VirtualBox的配置了,接下来主要说明Ubuntu工作环境搭建。


更新ubuntu源

ubuntu如果要安装程序,必须先更新国内的源,否则使用sudo apt-get install安装某些程序的时候,会提示包找不到。
最新的源可以参照:http://wiki.ubuntu.org.cn/%E6%BA%90%E5%88%97%E8%A1%A8

备份源

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

添加清华源和阿里源到source.list中

sudo gedit /etc/apt/sources.list

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse

deb-src http://archive.ubuntu.com/ubuntu xenial main restricted
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted multiverse universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted multiverse universe
deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb http://mirrors.aliyun.com/ubuntu/ xenial multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb http://archive.canonical.com/ubuntu xenial partner
deb-src http://archive.canonical.com/ubuntu xenial partner
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted multiverse universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe

其中的xenial代表当前使用的是ubuntu 16.04的版本。具体的对应关系如下:

1
2
3
4
16.04       xenial
15.10 willy
14.04 trusty
12.04 precise

刷新源列表

sudo apt-get updata


ubuntu设置终端参数

  • 使用Ctl + Alt + t按键打开终端;
  • 编辑(E) –> 配置文件首选项(P)设置回滚限制到最大,如下:
    图11
  • 终端的快捷键设置如下:
    图12

安装openssh

参照自:https://blog.csdn.net/changhenshui1990/article/details/72896548
https://blog.csdn.net/yucicheung/article/details/79427578
执行sudo apt-get install openssh-serversudo /etc/init.d/ssh start命令。
openssh安装完成之后,还无法使用xshell ssh登录,因为虚拟机中的网卡只有一个,如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
victor@victor-linux:~$ ifconfig
enp0s3 Link encap:以太网 硬件地址 08:00:27:87:50:c4
inet 地址:10.0.2.15 广播:10.0.2.255 掩码:255.255.255.0
inet6 地址: fe80::2b6:ad4e:c1b6:896/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 跃点数:1
接收数据包:9 错误:0 丢弃:0 过载:0 帧数:0
发送数据包:211 错误:0 丢弃:0 过载:0 载波:0
碰撞:0 发送队列长度:1000
接收字节:1183 (1.1 KB) 发送字节:20658 (20.6 KB)

lo Link encap:本地环回
inet 地址:127.0.0.1 掩码:255.0.0.0
inet6 地址: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 跃点数:1
接收数据包:56 错误:0 丢弃:0 过载:0 帧数:0
发送数据包:56 错误:0 丢弃:0 过载:0 载波:0
碰撞:0 发送队列长度:1000
接收字节:6446 (6.4 KB) 发送字节:6446 (6.4 KB)

因此,必须给虚拟机新增一块网卡。因此在VirtualBox中进行如下设置:
图9

做完之后,ubuntu中执行ifconfig就可以看到新增一个enp0s8的网卡,ip地址为192.168.56.101xshell就可以通过这个ip地址远程登录ubuntu了。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
victor@victor-linux:~$ ifconfig
enp0s3 Link encap:以太网 硬件地址 08:00:27:87:50:c4
inet 地址:10.0.2.15 广播:10.0.2.255 掩码:255.255.255.0
inet6 地址: fe80::2b6:ad4e:c1b6:896/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 跃点数:1
接收数据包:9 错误:0 丢弃:0 过载:0 帧数:0
发送数据包:211 错误:0 丢弃:0 过载:0 载波:0
碰撞:0 发送队列长度:1000
接收字节:1183 (1.1 KB) 发送字节:20658 (20.6 KB)

enp0s8 Link encap:以太网 硬件地址 08:00:27:d1:3a:f3
inet 地址:192.168.56.101 广播:192.168.56.255 掩码:255.255.255.0
inet6 地址: fe80::fcfe:5d73:eae3:3976/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 跃点数:1
接收数据包:582 错误:0 丢弃:0 过载:0 帧数:0
发送数据包:618 错误:0 丢弃:0 过载:0 载波:0
碰撞:0 发送队列长度:1000
接收字节:52502 (52.5 KB) 发送字节:128099 (128.0 KB)

lo Link encap:本地环回
inet 地址:127.0.0.1 掩码:255.0.0.0
inet6 地址: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 跃点数:1
接收数据包:56 错误:0 丢弃:0 过载:0 帧数:0
发送数据包:56 错误:0 丢弃:0 过载:0 载波:0
碰撞:0 发送队列长度:1000
接收字节:6446 (6.4 KB) 发送字节:6446 (6.4 KB)


安装vim

由于安装完默认的Ubuntu-16.04这个版本是使用的vi-tiny,这个编辑器的删除键和方向键都不管用,只能使用在命令行模式下用xhjkl键,于是重新选择安装vim
先执行sudo apt-get remove vim-common命令卸载vim,再执行sudo apt-get install vim命令安装vim。


安装配置git

1
2
3
4
5
6
7
sudo apt-get install git
git config --global user.name "VictorHuang"
git config --global user.email "example@email.com"
git config --global core.editor "vim"
git config --global core.autocrlf input
git config --global core.safecrlf true
git config --global color.ui true

查看git配置git config --list
http://onetracy.com/2016/12/25/tigrc/


安装tig

tiggit的一个插件,相对于git log来说显示日志记录比较漂亮、直观和方便tig
官方网站为:https://jonas.github.io/tig/

git仓库下,执行tig命令,就可以查看提交履历信息,随便从https://git.kernel.org/ clone一下mmc-utils的仓库做测试,如下:
图10


配置vimrc

Vim 简明教程,一篇干货满满的文章。


配置bashrc


安装常用工具

1
2
3
4
5
6
7
$sudo apt-get install git-core gnupg flex bison gperf build-essential doxygen \
zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev dpkg-dev \
libx11-dev libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \
libgl1-mesa-dev tofrodos dos2unix gitk meld \
python-markdown python-m2crypto python-lxml libxml2-utils xsltproc zlib1g-dev zlib1g-dev:i386 \
u-boot-tools openssh-client libswitch-perl \
cksfv uuid-dev:i386 liblzo2-dev:i386 lzop ccache