Ubuntu 20.06安装记录贴
此贴背景:在基于StarCraft II SMAC中研究多智能体强化学习算法时发现, 在Linux系统下,算法的训练并不需要渲染游戏窗口,因此跑一次模型所花费的时间可以大幅度降低。对此,本文记录了如何完成1.Ubuntu系统的安装(双系统,非虚拟机) 2.显卡驱动的安装 3.以及pytorch的安装。并且记录期间遇到的问题
Ubuntu 系统安装
启动U盘的制作可以参考文章:
注:需要一个空U盘
准备工作
后需涉及到分区划分的问题:
可以参考文章:
系统分区参考
显卡驱动安装(离线安装)
在线安装也尝试过,但是输入指令 nvidia-smi找不到显卡设备,随放弃。(如果试过这个方法也失败的记得把显卡驱动卸载)
1.准备工作
sudo apt-get update #更新软件列表
sudo apt-get install g++
sudo apt-get install gcc
sudo apt-get install make
2.官方驱动下载
Nvidia驱动下载地址
以3070Ti为例:
下载完成后以防万一需要调整下安装包的位置,可以直接放到/home目录下,这个位置以及安装包的全称需要自己记住,可以手机拍个照,后面有用。
3.后面的一些列步骤
- 卸载原有显卡驱动(因为是刚装的系统,所以这步跳过了)
- 禁用nouveau(nouveau是通用的驱动程序,这一步是必须的),这一步可以通过命令行实现:
sudo gedit /etc/modprobe.d/blacklist.conf 或者(blacklist-nouveau.conf)
也可以在图形化界面顺着命令行中的目录找到该文件。在打开的该文本末尾添加以下文本并保存即可。
blacklist nouveau
options nouveau modeset=0
- 然后在终端输入,等待更新完成后重启(重启是必须的)
sudo update-initramfs –u
- 重启后,在终端输入如下命令,若没有任何输出就行了。
lsmod | grep nouveau
- 安装lightdm,lightdm是显示管理器,主要管理登录界面,ubuntu20.04需要自行安装。ubuntu20.04自带gdm3,不过我用gdm3安装的时候装完后黑屏了,不敢试,保险起见可以还是装lightdm,安装完后可以选择,选择lightdm即可。
sudo apt-get install lightdm
- 按下Ctrl + Alt + F1~F6切到tty文本界面,并且分别输入用户名以及密码进行登录(其中密码输入的时候是不显示的,并不是卡了)。以下是成功切换到tty2文本界面时候的样子。
- 禁用X-window服务
sudo service lightdm stop
- cd到存放驱动的目录(必须),比如在本文中是
cd \home
然后依次输入
sudo chmod 777 NVIDIA-Linux-x86_64-430.26.run # 赋予权限 注意 此处是安装包的名字
sudo ./NVIDIA-Linux-x86_64-430.26.run –no-opengl-files # 安装
比较重要的是,在输入指令的时候如果出现以下场景(我愿意叫他菱形陷阱):
刚开始的时候我就是没注意,以为这是命令执行成功的反应,导致装完驱动开不了机了(不知是不是没注意到这个错误导致的)。实际应该是报错了。因此需要检查是否cd到正确的目录下,或者指令是否打错了。没有输出才是正常的。然后就会进行驱动安装了。
- 会出现一系列的问题,具体的意思也没摸清,跟着选就对了。
问题:The distribution-provided pre-install script failed! Are you sure you want to continue?
选continue installation
问题:Would you like to register the kernel module souces with DKMS? This will allow DKMS to automatically build a new module, if you install a different kernel later?
选No
问题:是否安装Nvidia’s 32-bit compatibility libraries?
选No
问题:Would you like to run the nvidia-xconfigutility to automatically update your x configuration so that the NVIDIA x driver will be used when you restart x? Any pre-existing x confile will be backed up.
选Yes
其他的默认选项都行。 - 在安装完驱动后需要重启windows-x服务:
sudo service lightdm start
有可能会黑屏,按Ctrl + Alt + F2切回文本界面,reboot重启 或者重启试试。
- 在终端输入nvidia-smi 若输出一下内容,则安装成功。
若没有则大概率是安装失败了,只能卸载驱动重来了- -。
期间易出现问题
情况描述:重启之后,就再也打不开了。。。在准备进入到图形化界面时,左上角光标闪烁两三次进入黑屏,或者直接进入tty文本界面了,但是没过几秒也黑屏了。不管时直接启动还是切换到recovery进系统都是这样。对于其他文章所提到的,进入recovery模式可以成功启动以及进入编辑模式增加后缀的方法都不管用。
我估计是显卡驱动没装好所导致的。这时候直接重启,进入recovery模式:
1.回车进入,并且选择带recovery后缀的。
2.选择root按回车
然后输入以下命令,卸载目前的显卡驱动:
建议都试试,我是最后一个命令才成功卸载的。卸载后就能够成功进入图形化界面了。然后降低了CUDA的版本重新来了一遍就成功装好了。
sudo apt-get remove --purge nvidia*
sudo apt-get --purge remove nvidia*
sudo apt-get autoremove
sudo apt-get --purge remove "*cublas*" "cuda*"
sudo apt-get --purge remove "*nvidia*"
pytorch安装
如今的pytorch版本都是自带cuda的,挺方便的。可以直接在官网获取指令在虚拟环境下进行安装。关于虚拟环境的问题可以参考其他文章。
易出现的问题:
1.网速问题:
解决方法搜索关键词:conda镜像源添加,在虚拟环境中添加镜像源即可。
2.conda指令安装的坑:在依赖包中可以可以看到cudatoolkit是安装的,但是pytorch安装的是cpu版本,关于这点可以在终端转到虚拟环境下,输入以下命令:
conda list
查看依赖包,可以看到pytorch是cpu版本的,或者在程序中运行以下代码发现输出是False。
print(torch.cuda.is_available())
对此,可以查看依赖包中是否有cpuonly包,有的话卸载即可。没有的话装一个,再卸载就行了。他会自动对cpu版本的包进行替换。
参考文献
Ubuntu16.04 NVIDIA显卡驱动卸载与安装
安装ubuntu系统详细步骤(双系统)
Ubuntu20.04安装详细图文教程(双系统)
Pytorch默认安装CPU版本(安装GPU版pytorch的坑)