Wiki

服务器安装ubuntu20.04 LTS

1. 设置bios

1.1 查看虚拟化是否打开了

1.2 查看是否开启了UEFI启动方式

2. 安装

2.1 启动u盘记得选择UEFI的启动方式,不要Legacy的方式启动

2.2 安装选择语言:简体中文(其实可以选择英文,这样可能更好点)

2.3 选择完整安装,勾选上第三方软件,但不要勾选联网下载更新

2.4 在设置安装硬盘的时候选择手动分配。

2.4.1 对500G的那个硬盘,点击新建分区表

2.4.2 然后点击空余的那一行,点+号,主分区,512MB,EFI类型

2.4.3 然后点击空余的那一行,点+号,主分区,512MB,EXT4类型,挂载在/boot分区

可选,如果不建的话linux内核就安装在根目录下,这样可能会导致以后更新内核都忘记删除旧的内核。

如果有/boot分区,这个大小一般只能存两个linux内核。

2.4.4 然后点击空余的那一行,点+号,主分区,16384MB,交换分区类型

一般是物理内存的两倍,不过这里物理内存达到了128GB,所以虚拟内存放16GB就够了

2.4.5 然后点击空余的那一行,点+号,主分区,全部的大小,EXT4类型,挂载在/分区

2.4.6 选择一个空的2T机械硬盘,格式化,EXT4类型,挂载在/home分区

这一步建议做,因为系统硬盘只有500GB,home目录上限也就这么大,很多人用的话,非常有可能不够用,所以把/home目录放到2T的机械硬盘中去

2.5 时区选上海

2.6 用户名计算机名密码自己设置,勾选上开机自动登录

2.7 最后安装完毕重启就行

3. 配置环境

3.1 拨号

如果服务器是用 “网线” 直接连接到校园网的,那么就需要进行pppoe拨号。如果是用wifi连接校园网或者是直接连接路由器,那么就不需要做拨号的步骤。

tju335@tju335:~$ nm-connection-editro

这会打开一个窗口,在里面添加pppoe就行,用户名密码和wifi登录时输入的是一样的。

3.2 更换apt源

3.2.1 百度搜索“清华大学 ubuntu”,第一个结果就是,或者打开网页:

https://mirror.tuna.tsinghua.edu.cn/help/ubuntu/

3.2.2 选择ubuntu版本为20.04LTS

3.2.3 将内容复制好

3.2.4 修改文件

# 进入/etc/apt/目录
tju335@tju335:~$ cd /etc/apt/
# 将原本的sources.list文件备份为sources.list.bak
tju335@tju335:/etc/apt$ sudo mv sources.list sources.list.bak
# 使用vi(或者使用gedit图形化)编辑sources.list文件
tju335@tju335:/etc/apt$ sudo vi sources.list
# 将3.2.3中复制的内容粘贴进去就行

# 最后更新一下
tju335@tju335:/etc/apt$ sudo apt update

3.3 安装ssh

3.3.1 执行安装命令

tju335@tju335:/etc/apt$ sudo apt install ssh -y

3.3.2 更换ssh端口(可选)

# 编辑/etc/ssh/sshd_config文件
tju335@tju335:~$ vi /etc/ssh/sshd_config
# 修改里面的Port行,将原本的22改成需要的端口,注意要取消注释这一行

# 重启ssh服务
tju335@tju335:~$ sudo systemctl restart sshd.service

3.4 安装常用工具

tju335@tju335:~$ sudo apt install -y vim nano build-essential git

3.5 安装NVIDIA驱动

3.5.1 如果安装系统的时候勾选了安装第三方驱动的话是已经安装好了的,不需要自己手动安装

3.5.2 查看驱动是否安装

tju335@tju335:~$ nvidia-smitju335@tju335:~$ nvidia-smi 
Thu Sep 29 16:23:58 2022       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 515.65.01    Driver Version: 515.65.01    CUDA Version: 11.7     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA GeForce ...  Off  | 00000000:17:00.0 Off |                  N/A |
| 41%   32C    P8    20W / 250W |      5MiB / 11264MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
|   1  NVIDIA GeForce ...  Off  | 00000000:73:00.0 Off |                  N/A |
| 29%   34C    P8     8W / 250W |     94MiB / 11264MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A      2740      G   /usr/lib/xorg/Xorg                  4MiB |
|    1   N/A  N/A      2740      G   /usr/lib/xorg/Xorg                 36MiB |
|    1   N/A  N/A      3172      G   /usr/bin/gnome-shell               56MiB |
+-----------------------------------------------------------------------------+

3.5.2.1 卸载已有驱动

如果已经安装了驱动,希望升级驱动,则需要先卸载已有驱动,这里有两种情况

执行以下命令查看现在安装的驱动

# 查看显卡的id,这里每行最前面的xx:xx就是显卡的id
tju335@tju335:~$ lspci -nn | grep NVIDIA
17:00.0 VGA compatible controller [0300]: NVIDIA Corporation TU102 [GeForce RTX 2080 Ti Rev. A] [10de:1e07] (rev a1)
17:00.1 Audio device [0403]: NVIDIA Corporation TU102 High Definition Audio Controller [10de:10f7] (rev a1)
17:00.2 USB controller [0c03]: NVIDIA Corporation TU102 USB 3.1 Host Controller [10de:1ad6] (rev a1)
17:00.3 Serial bus controller [0c80]: NVIDIA Corporation TU102 USB Type-C UCSI Controller [10de:1ad7] (rev a1)
73:00.0 VGA compatible controller [0300]: NVIDIA Corporation TU102 [GeForce RTX 2080 Ti] [10de:1e04] (rev a1)
73:00.1 Audio device [0403]: NVIDIA Corporation TU102 High Definition Audio Controller [10de:10f7] (rev a1)
73:00.2 USB controller [0c03]: NVIDIA Corporation TU102 USB 3.1 Host Controller [10de:1ad6] (rev a1)
73:00.3 Serial bus controller [0c80]: NVIDIA Corporation TU102 USB Type-C UCSI Controller [10de:1ad7] (rev a1)
# 查看显卡驱动,将上面的显卡id替换掉下面的17:00
tju335@tju335:~$ lspci -vv -s 17:00 | grep driver
	Kernel driver in use: nouveau
	Kernel driver in use: snd_hda_intel
	Kernel driver in use: xhci_hcd
	Kernel driver in use: nvidia-gpu

上面的第一行有可能是两个值:nouveau或者nvidia。

nouveau代表目前安装的驱动是开源的第三方显卡驱动

nvidia代表目前安装的驱动是闭源的官方显卡驱动

执行以下命令

执行以下命令

tju335@tju335:~/env$ sudo apt remove nvidia-*

3.5.3 登录NVIDIA官网下载驱动

https://www.nvidia.cn/Download/index.aspx?lang=cn#

   
产品类型 GeForce
产品系列 GeForce RTX 20 Series
产品家族 GeForce RTX 2080Ti
操作系统 Linux 64-bit
下载类型 生产分支
语言 Chinese

显卡驱动可以尽可能最新版本,向下兼容的。

3.5.4 安装驱动

在上面下载到的是一个.run文件,把这个文件放到服务器中,运行以下命令安装(注意run文件名可能不一样,文件名与当前最新版本号相关,自行更改)

# 给run文件添加执行权限
tju335@tju335:~/env$ chmod +x NVIDIA-Linux-x86_64-515.76.run
# 执行安装

# 在弹出的提示中选择Continue installation
  An alternate method of installing the NVIDIA driver was detected. (This is usually a package provided by your distributor.) A driver installed via that method may integrate better with your system than a driver installed by nvidia-installer.                              
  Please review the message provided by the maintainer of this alternate installation method and decide how to proceed:
  
# 在弹出的提示中选择OK ,会提示3次,都选OK
# 然后重启,在从3.5.4开始重新执行
Install NVIDIA's 32-bit compatibility libraries?
选yes

后续全部默认选项就行

最后重启系统,使用nvidia-smi命令查看是否已经安装好驱动


3.6 安装Anaconda

3.6.1 选择一个合适的Anaconda版本

可以百度搜索一下anaconda版本与python版本的对应,可以装最新的,anaconda可以切换python版本。

当前选择使用2022.05的版本。

3.6.2 下载安装包

https://repo.anaconda.com/archive/

在上面的网站上找到对应的版本号和架构的安装包:2022.05、Linux-x86_64

3.6.3 安装

# 给安装包增加执行权限
tju335@tju335:~/env$ chmod +x Anaconda3-2022.05-Linux-x86_64.sh
# 执行安装程序
tju335@tju335:~/env$ ./Anaconda3-2022.05-Linux-x86_64.sh

# 一直按回车直到出现:Please answer 'yes' or 'no':',然后输入yes来同意用户协议

# 然后选择安装路径,默认就行,路径为当前用户的home目录下:/home/tju335/anaconda3

# 出现提示Do you wish the installer to initialize Anaconda3 by running conda init? [yes|no]
# 输入no,输入yes的话以后每次打开终端都会默认进入anaconda的base环境

3.6.4 配置环境

为每个用户都添加anaconda的环境目录

# 修改/etc/profile文件,这个文件在每个用户的每个终端打开时都会执行一次
tju335@tju335:~$ sudo vi /etc/profile
# 在最后添加: export PATH=/home/tju335/anaconda3/bin:$PATH
# 注意这个路径要和上面安装的路径一致

3.6.5 测试环境

新建一个终端,确保环境已经配置上,输入以下命令查看结果

tju335@tju335:~$ conda --version
conda 4.12.0
tju335@tju335:~$ conda env list
# conda environments:
#
base                  *  /home/tju335/anaconda3

3.7 安装VNC远程控制

3.7.1 前往官网下载安装包

https://www.realvnc.com/en/connect/download/vnc/

选择Desktop - Linux - DEB x64,把文件放到服务器上

3.7.2 安装

tju335@tju335:~/env$ sudo dpkg -i VNC-Server-6.11.0-Linux-x64.deb

3.7.3 配置密钥

上网随便找一个激活密钥,有些密钥是失效的,多试几个

tju335@tju335:~/env$ sudo vnclicense -add 7SA9N-9JF3P-E8CW2-BH9JU-PMVQA

3.7.4 安装VNC客户端连接

https://www.realvnc.com/en/connect/download/viewer/

选择windows/mac下载安装包

安装完成后输入服务器的ip尝试连接,如果失败就试试重启服务器

3.7 新建用户

3.7.1 新建一个普通用户

sudo useradd -c "硕士2022" -g tju335 -m -s /bin/bash nsas2022

3.7.2 修改密码

sudo passwd nsas2022

然后输入两次新密码即可

3.7.3 添加用户到附加组中

sudo usermod -a -G sudo,docker,anaconda nsas2022

3.7.4 初始化anaconda

su nsas2022 # 登录新建的账户,也可以注销掉当前账户重新登录
conda init
exit

重新打开终端就可以正常执行conda activate base

3.8 多用户conda冲突问题

多用户同时使用conda,会在conda目录下载python包,这个包的所有权是执行命令的那个用户,如果其他用户想要读写这个包就会报错,这时候执行以下命令即可:

sudo chgrp -R "anaconda" /home/tju335/anaconda3
sudo chmod -R g+ws /home/tju335/anaconda3