Ubuntu 系统安装 - Server

鉴于我经常把系统弄出各种疑难杂症,所以把装机过程记录下来,下次装机不用四处找教程,节省时间。

系统的安装

系统的选择

以下四个系统都可以尝试,Server 版注重性能,但是没有图形界面,目前使用的是 16.04 桌面版

  1. Ubuntu 16.04 LST Desktop 64-bit (Download)
  2. Ubuntu 14.04 LST Desktop 64-bit (Download)
  3. Ubuntu 16.04 LST Server 64-bit (Download)
  4. Ubuntu 14.04 LST Server 64-bit (Download)

下载好想要的系统后,把 ISO 文件解压到一个格式为 FAT 的 U 盘的根目录,也就是打开 U 盘就能直接看到解压的文件

Ubuntu 14.04 的用户请使用刻录工具刻录镜像,并采用 Legency 启动方式

进入 BIOS

  • 对于全新未装机的电脑,开机按 DEL 进 BISO,把启动方式设置为 UEFI,然后选择 U 盘为第一个启动项。
  • 对于已装系统的电脑,如果本身已经设置了 UEFI 启动,那么可以直接按 F12,然后选择要启动的 U 盘。

Ubuntu 安装过程

选择 U 盘启动后,系统会进入一个用户选择界面,这里直接选择安装 Ubuntu

如果系统安装了 Nvidia 显卡,直接开机将造成黑屏,所以在这里我们不要直接选择安装 Ubuntu,解决办法是按 e 键进入自定义开机编辑模式,在 splash 后填写 nomodeset,或者 nouveau.modeset=0,如下,然后再开机

1
.........splash nomodset

分区建议

分区 大小 说明
EFI 128M 位于硬盘的第一个分区上
BOOT 512M 紧接 EFI 分区
swap 24G 理论上应和内存大小一致,但基本没用
root 128G 目前体验是 128G 已经足够
home - 如果不想重装时备份数据

设备名尽量选择独特且有意义的名字,避免在配置路由端口转发时难以区分

系统配置

Blacklist Nvidia

没错,我们首先要做的就是禁用第三方英伟达驱动,否则每次开机都要手动设置,贼麻烦

1
2
3
4
5
6
sudo vi /etc/modprobe.d/blacklist.conf
[shift + g] 以下内容仅供不会vi的同学参考
o
blacklist nouveau
[esc]
:wq

或者:

1
2
su                      # 输入root的密码
echo 'blacklist nouveau' >> /etc/modprobe.d/blacklist.conf

可以是用 ctrl+alt+t 快捷键调出终端

更新系统 (可选)

更新系统前,先到 system settings->software & updates->download from->select best server,选择一个速度最快的安装源,然后调出终端输入

1
2
3
4
sudo apt-get update && \
sudo apt-get -y dist-upgrade && \
sudo apt-get -y upgrade && \
sudo apt-get autoremove

远程桌面

等待系统更新完成后,再安装远程服务软件,当然也可以直接安装完远程桌面,然后在远程更新!

1
2
sudo apt-get -y install xrdp vnc4server xfce4
echo xfce4-session > .xsession

如果你在服务器上添加了用户,也要到该用户目录下新建一个.xsession 文件,并填入 xfce4-session,该文件的目的是告诉 xrdp 服务,当用户远程连接登录系统后应该使用进入哪个桌面环境,如果没有设置该文件,那么用户远程连接后,将进入无桌面环境的状况,具体表现为又灰又花的一大片背景色

上面的远程桌面配置是针对单用户设置的,也就是两个用户无法同时登录到服务器上,为了解决多用户登录问题,我们需要开放用户在登录时选择登录端口的权限,具体为更改 **/etc/xrdp/xrdp.ini 文件,把 [xrdp1] 项目下的 port=-1 更改为 port=ask-1**

1
2
3
4
5
6
7
8
9
......
[xrdp1]
name=sesman-Xvnc
lib=libvnc.so
username=ask
password=ask
ip=127.0.0.1
port=ask-1
......

更多内容:找回丢失的连接,其他高级参数的部分解释,参考这里,以及这里

简单来讲是通过查看 **/var/log/xrdp-sesman.log,以及通过 netstat -tunpl** 命令查看 Xvnc 监听端口

完成了以上步骤后,通过重启 xrdp 服务使设置生效

1
sudo service xrdp restart

Tips: 在 Ubuntu 上可以通过 ifconfig 可以查看系统的 ip 地址,然后在 win 下通过 win+R 组合键换出运行,输入 mstsc 打开远程桌面,填入 ip 即可连接。

xfce4 桌面的配置

通过上述方式建立的远程桌面环境是 xfce4,不是原来 Ubuntu 的桌面了

我的快捷键呢?!

你会发现远程桌面的很多快捷键都失效了,又多了一些奇奇怪怪的快捷键,这里简单介绍几个大家常用的修改

  • tab 补全:到 settings->window manager->keyboard 里,把 super+tab 快捷键清除
  • ctrl+alt+t 唤出终端:首先由于 gnome-terminal 在 xfce4 桌面环境里变得迟钝,所以不推荐使用可以安装 xfce4-terminal,然后新增键盘快捷方式 (在上面那里),应用程序直接输入 xfce4-terminal 就可以了
1
sudo apt-get install xfce4-terminal
  • 部分程序无法在远程桌面打开问题,比如 vscode:
1
2
3
4
mkdir ~/lib
cp /usr/lib/x86_64-linux-gnu/libxcb.so.1 ~/lib
sed -i 's/BIG-REQUESTS/_IG-REQUESTS/' ~/lib/libxcb.so.1
LD_LIBRARY_PATH=$HOME/lib

或者你不想备份,直接对原文件进行修改:

1
2
sudo sed -i 's/BIG-REQUESTS/_IG-REQUESTS/' /usr/lib/x86_64-linux-gnu/libxcb.so.1
sudo sed -i 's/BIG-REQUESTS/_IG-REQUESTS/' /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0

想了解详细原因的可以查看这里

  • Alt 键放大桌面:使用编辑器有时会用到 Alt 键,这时会有可能进入到放大镜模式,通过再次按下 Alt 键,并使用鼠标滚轮缩放桌面都原始状态后,在系统设置中将其清除

CUDA & CUDNN

推荐安装 Tensorflow 最新兼容版,目前是 CUDA9.0

官网下载 CUDA 的 deb 包

1
2
3
sudo dpkg -i cuda[---].deb      # 加入到安装本地源
sudo apt-get update # 刷新安装源
sudo apt-get install cuda # 安装

官网下载 CUDNN 的压缩包

1
2
3
tar -zxvf CUDNN[---].tar.gz ./
sudo cp -r cuda /usr/local/
sudo chmod a+x /usr/local/cuda/include/cudnn* /usr/local/cuda/lib64/cudnn*

添加搜索路径

1
2
3
4
echo "export PATH=$PATH:/usr/local/cuda/bin" >> ~/.bashrc   # CUDA
echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib: \ # 不要换行
/usr/local/cuda/lib64" >> ~/.bashrc # cuDNN
source ~/.bashrc

PYPI | 清华镜像

使用清华镜像加速 Python 包的安装,一次性的使用方法是在 install 命令里加入 - i 参数:

1
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple some-package

永久更改的方法是在 **~/.config/pip/pip.conf** 创建配置文件,并输入内容:

1
2
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple

详细内容可以参考清华 Pypi 官网