ubuntu20.04记录

  • 前言
  • 一、换源
  • 二、显卡相关 nvidia-smi
  • 三、s段错误 (核心已转储)
  • 四、安装cuda
  • 五、修改电脑默认启动现项
  • 六、远程SSH
  • 七、设置DNS
  • 八、安装NCCL
  • 九、中文目录修改为英文
  • 十、安装QQ



前言

网上安装win+ubuntu双系统的教程有很多,在分区和引导的时候差别很大,自己装系统要多翻几个教程对比一下。

我的安装记录:GPT+UEFI引导,ubuntu安装在一块1T新硬盘上,分区分为efi(512M)、swap(非必要,100G)、/(相当于windows的c盘,300G)、/home(余下大概500多G)四个分区。


一、换源

Ubuntu系统中,软件源文件地址为:/etc/apt/sources.list

1.备份原来的源,将以前的源备份一下,以防以后可以用的。

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

2.打开/etc/apt/sources.list文件,在前面添加如下条目并保存:

sudo vim /etc/apt/sources.list

i编辑 esc退出 :wq保存

#添加阿里源

deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse

更新源

sudo apt-get update

如出现依赖问题,解决方式如下:

sudo apt-get -f install

更新软件:

sudo apt-get upgrade
二、显卡相关 nvidia-smi

问题1.NVIDIA-SMI has failed because it couldn’t communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.

解决1:禁用nouveau显卡驱动

先卸载已经安装的驱动版本

sudo apt-get remove --purge nvidia*

将Ubuntu自带的显卡驱动加入黑名单:

sudo vim /etc/modprobe.d/blacklist.conf

在文件的尾部追加两行

blacklist nouveau
options nouveau modeset=0

保存退出vim后,输入

sudo update-initramfs -u

然后重启
(最好设置一下ssh,因为可能重启之后黑屏,不显示图形化界面,开机后使用命令: lsmod | grep nouveau查看是否禁用成功,成功的话没有任何信息输出。)我是开机后等了大半天图形化界面突然自己蹦出来了,还有种情况就是可能会比较卡顿。

解决2:bios中把secure boot设置为disabled

解决3:重装与CUDA适配的Nvidia显卡驱动

方法一:

410.79是NVIDIA的版本号,当你不知道的时候,进入/usr/src目录中,可以看到里面有nvidia文件夹,后缀就是其版本号或者输入ls /usr/src | grep nvidia查看之前安装 nvidia 驱动的版本号

sudo apt-get install dkms
sudo dkms install -m nvidia -v 410.79

方法二:

卸载驱动重新安装:

$ sudo apt purge nvidia-*
$ sudo ppa-purge ppa:graphics-drivers/ppa
$ sudo apt autoremove
$ sudo apt auto-clean

$ sudo add-apt-repository ppa:graphics-drivers/ppa
$ sudo ubuntu-drivers autoinstall

$ sudo reboot

其中可能会出现gcc版本问题,降级gcc

方法三:

查看显卡硬件型号以及推荐安装的驱动:

ubuntu-drivers devices
sudo apt-get install nvidia-driver-470

也可以使用命令自动安装最适合版本:

sudo ubuntu-drivers autoinstall

动态查看显卡使用:

watch -n 1 nvidia-smi

三、s段错误 (核心已转储)

问题: wget下载东西时到99%报错“剩余 2s s段错误 (核心已转储)

使用命令:ulimit -a查看内容,发现stack size 大小只有8192

使用命令:ulimit -s 102400 将stack size 改为100m问题解决

或者:google浏览器粘贴地址,直接下载然后手动安装

四、安装cuda

安装步骤可以查看上一篇Win10/Win11子系统(二)——深度学习环境搭建的记录,过程一模一样,这里简单记录一下:

可以去官网下载,但是也是比较慢,使用命令:

wget https://developer.download.nvidia.com/compute/cuda/10.1/Prod/local_installers/cuda_10.1.243_418.87.00_linux.run

下载完后,找到对应的路径,进行安装:

sudo sh cuda_10.1.243_418.87.00_linux.run

然而,还是有可能遇到问题。直接显示安装失败。这里推荐两条命令都试一下:

sudo sh cuda_10.1.243_418.87.00_linux.run --override
sudo sh cuda_10.1.243_418.87.00_linux.run --override --librarypath=/usr/local/cuda-10.1

已经有了驱动,所以不需要再装驱动,空格键取消

接着,还需要将cuda的路径写进~/.bashrc文件中,先打开文件:

sudo vim ~/.bashrc

按i进入编辑模式,在末尾加上:

export PATH=/usr/local/cuda-10.1/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-10.1/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

然后按ESC退出编辑模式,输入:wq即可保存退出文件,最后激活刷新一下:

source ~/.bashrc

使用命令查看安装完成:

nvcc -V

安装cudnn,打开官网

下载后解压,打开里面找到cuda文件夹,然后复制一下文件到对应的路径:

sudo cp cuda/include/cudnn*.h /usr/local/cuda/include/
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/

给对应文件权限:

sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*

测试一下:

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

有输出说明没毛病!!!

五、修改电脑默认启动现项

安装好ubuntu之后每次开机进入grub引导界面发现ubuntu位于最少面,不手动选择的话几秒钟后会默认进入ubuntu系统,但是用windoes还是相对多一点,所以设置一下默认启动windows。

避免安装工具的最快方法是更改/etc/default/grub文件中的默认GRUB条目。如果不想使用第三方应用程序,请打开终端并发出以下命令:

sudo nano /etc/default/grub

打开后,将条目GRUB_DEFAULT=0更改为GRUB_DEFAULT=saved并通过按Ctrl + X,然后按Y,然后按Enter来保存文件。

然后更新grub并键入出以下命令:

sudo update-grub

最后使用 :

sudo grub-set-default NUMBER

grub界面条目从0开始,如果要设置默认启动Windows,则必须将NUMBER设置为2(我的是位于grub界面四个选项中的第三个)。 把 GRUB_TIMEOUT = 3 就是引导菜单等待3秒启动。

六、远程SSH

ssh相关,可以参考这篇博客,这里没什么大问题,因为我也不常用,纯粹为了救急,用习惯了windows还是图形化界面更习惯一点。

七、设置DNS

1.通过修 改/etc/resolvconf/resolvconfresolv.conf.d/base(这个文件 默认是空的)

sudo vim /etc/resolvconf/resolvconfresolv.conf.d/base

在里面插入:

nameserver 114.114.114.114
nameserver 223.5.5.5
nameserver 202.38.93.153
nameserver 210.2.4.8

如果有多个DNS就一行一个 修改好保存,然后执行:

resolvconf-u

再看/etc/resolv.conf,最下面就多了2行:

cat /etc/resolv.conf

这种方式好像不太永久,每次重启之后可能会回复默认。

2.阿里云dns设置
贴心的阿里云不仅给了好用的dns,还把设置方式也给了,点个赞!

wget http://www.alidns.com/public/soft/SetAliDNS.sh -O SetAliDNS.sh %26%26 chmod +x SetAliDNS.sh %26%26 sudo ./SetAliDNS.sh

设置后不想用了,取消阿里公共DNS的方法:

sudo ./SetAliDNS.sh restore
八、安装NCCL

安装双系统就是为了跑程序,nccl这种在windows上没有而ubuntu独有的分布式训练库

nccl 下载链接:https://developer.nvidia.com/nccl/nccl-legacy-downloads

这里下载的是nccl2.7.8 搭配我的cuda10.1

# sudo apt-key add /var/nccl-repo-2.7.8-ga-cuda10.1/7fa2af80.pub

sudo dpkg -i nccl-repo-ubuntu1804-2.7.8-ga-cuda10.1_1-1_amd64.deb

sudo apt update

sudo apt install libnccl2=2.7.8-1+cuda10.1 libnccl-dev=2.7.8-1+cuda10.1
九、中文目录修改为英文

小白基本装的都是中文语言系统,结果cd切换文件路径发现哎呀,中文文件名不太好使,怎么办?改呗

原来中文路径下有文件的先把这些文件移出来!!!!!!!

第一步:修改目录名

mv 桌面 Desktop
mv 公共的 Public
....

第二步:修改配置文件

vim ~/.config/user-dirs.dirs

配置文件修改后的内容如下:

XDG_DESKTOP_DIR="$HOME/Desktop"
XDG_DOWNLOAD_DIR="$HOME/Downloads"
XDG_TEMPLATES_DIR="$HOME/Template"
XDG_PUBLICSHARE_DIR="$HOME/Public"
XDG_DOCUMENTS_DIR="$HOME/Document"
XDG_MUSIC_DIR="$HOME/Music"
XDG_PICTURES_DIR="$HOME/Picture"
XDG_VIDEOS_DIR="$HOME/Video"
十、安装QQ

贴心的官方教程,一看就会