最近重装了服务器的系统,升级到了Ubuntu 20.04.1 LTS Server版本,同时为了满足深度学习对GPU的使用需求,安装了NVIDIA显卡驱动和PyTorch环境,在这里记录一下完整的安装流程。
安装的系统:Ubuntu 20.04.1 LTS Server版本
GPU型号:TITAN XP
1. 使用U盘制作启动盘
首先我们下载UltraISO软碟通,通过这个软件将系统文件刻录到U盘里,以制作安装启动盘。(UltraISO软碟通下载地址)打开安装程序,一路点击确认,自动安装好就可以使用了。
接下来,到Ubuntu官网下载最新LTS版本的系统iso文件,LTS意为长期支持,会定时发布系统更新。我这里选择的是服务器版本ubuntu-20.04.1-live-server-amd64.iso。当然也可以根据自己的需求选择安装桌面版,版本号相同的话,安装的本质内容是相同的。区别在于,桌面版有GUI图形界面,并且安装了许多服务器版没有的软件,多为个人电脑所配置,适合新手使用;而服务器版适用于web服务器,服务器版本只能通过命令行进行操作,需要有一定linux基础。
下载好了相应的iso文件后,我们需要利用UltraISO软碟通软件来将iso文件刻录到U盘里。在自己的电脑上插入U盘,打开UltraISO软碟通,选择“文件>打开”,选择下载好的iso文件。再点击“启动>写入硬盘镜像”,首先对U盘进行格式化,写入方式选择“USB-HDD+”,点击“便捷启动>写入新的驱动器引导扇区”,选择Syslinux,最后点击“写入”,等待写入完成即可。这样,我们的U盘启动安装盘就制作完成了。
2. 安装Ubuntu系统
将U盘插入到服务器的USB接口,重启服务器,连续按F11(不同的电脑快捷键不一样,请自行查询)进入BOOT启动选项,找到并选择我们的U盘启动,至此进入了安装程序,选择 Install Ubuntu, 回车直接进入安装界面。
首先选择语言、键盘布局,这里我默认选择了英文。接下来根据自己的情况配置网络,也可以先跳过等安装完成后再配置。然后进入到分区,我的服务器上有两块硬盘,这里我选择手动分区。选择空间较小的一块硬盘(sda)作为系统盘,首先选择reformat将硬盘分区重置,最终硬盘空间分配结果为:/boot分配1GB,/swap分配64GB(这里交换空间分配的太多了,具体可以根据自己的物理内存查找合适的swap对应关系),其余空间均分配给根目录;同时,将另一块1.8T的硬盘(sdb)挂载到/home目录,提供给我们创建用户使用。
配置完分区后,进入到设置root账号密码,填写完成后选择安装软件,这里我安装了openssh,方便之后远程连接。最后,等待系统安装完成出现“finish install”后,选择“reboot now”重启,根据提示拔掉U盘,回车,重启后系统成功安装完成。
3. 安装NVIDIA显卡驱动
首先我们到NVIDIA官网,查找适用于自己NVIDIA 产品的驱动程序。
点击DOWNLOAD进行下载。
由于我们之前安装了openssh,配置好网络后,便可以远程连接服务器进行操作。使用Xftp将下载好的显卡驱动安装文件传到服务器上。使用Xshell,通过ssh协议与服务器建立连接,进行命令行操作。远程连接好服务器后,首先根据以下命令安装一些所需要的依赖,另外缺少什么可以根据提示自行安装。
sudo apt-get update
sudo apt update
sudo apt-get install gcc
sudo apt install lightdm
sudo apt-get install make
sudo apt install nvidia-cuda-toolkit
sudo apt install dkms build-essential linux-headers-generic
禁用 nouveau 驱动
sudo vim /etc/modprobe.d/blacklist.conf
在文件末尾加入(综合网上各种教程)
blacklist rivafb
blacklist vga16fb
blacklist nouveau
blacklist nvidiafb
blacklist rivatv
options nouveau modeset=0
blacklist lbm-nouveau
alias nouveau off
alias lbm-nouveau off
保存并退出
禁用 nouveau 内核模块
echo options nouveau modeset=0 | sudo tee -a /etc/modprobe.d/nouveau-kms.conf
sudo update-initramfs -u
卸载旧版本的nvidia驱动
sudo apt-get --purge remove nvidia-*
重启
sudo reboot
关闭图形界面
sudo service lightdm stop
修改文件权限,安装驱动
cd /home/software
sudo chmod a+x NVIDIA-Linux-x86_64-450.66.run
sudo ./NVIDIA-Linux-x86_64-450.66.run -no-x-check -no-nouveau-check -no-opengl-files
安装过程中遇到的问题选择
安装完毕,重启
sudo reboot
挂载驱动
modprobe nvidia
nvidia-smi
出现如下界面,安装成功
4. 安装Anaconda和Pytorch
到Anaconda官网,根据自己的系统下载对应的Anaconda安装包,我这里下载的是Anaconda3-2020.07-Linux-x86_64.sh,并把它放到服务器上,通过如下命令运行。
sudo bash Anaconda3-2020.07-Linux-x86_64.sh
空格跳过文字,选择安装目录
[/root/anaconda3] >>> /usr/anaconda3
安装完成后,修改环境变量,输入
sudo vim /etc/profile
在末尾添加 export PATH="/usr/anaconda3/bin:$PATH"
保存并退出,更新系统环境变量
source /etc/profile
在命令行输入python3,出现以下信息表示安装成功
添加清华镜像源,避免以后下载环境过程中,出现下载过慢的情况
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
输入命令,查看cuda版本号
nvcc -V
到PyTorch官网,选择相应的pytorch版本、系统版本、安装方式、语言和cuda版本,下方会自动生成安装命令。
在命令行输入
conda install pytorch torchvision cudatoolkit=10.1 -c pytorch
即可进行pytorch的安装。
注意:这里末尾添加的"-c pytorch"是使用pytorch官方的通道进行下载,但是经常出现下载速度过慢导致无法下载完成的情况,这里还可以考虑去掉"-c pytorch"使用清华镜像源下载。如果需要下载的版本在清华镜像源里没有找到,那么可以从官网下载离线的pytorch安装包,我这里选择了pytorch-1.6.0-py3.8_cuda10.1.243_cudnn7.6.3_0.tar.bz2,将安装包传到服务器上,通过以下命令来安装:
conda install --offline pytorch-1.6.0-py3.8_cuda10.1.243_cudnn7.6.3_0.tar.bz2
安装完成后,通过以下命令进行检查,出现以下界面则pytorch安装成功