本人在三台Ubuntu22.04服务器上搭建了深度学习环境,现将搭建记录分享给大家!

Ubuntu22.04分区

分区为UEFI格式的情况下:

200MB的EFI分区(逻辑分区)(Ubuntu启动引导选择放在这里),物理内存2倍左右(感觉1倍也可以,平时通过监控发现没怎么使用)的交换空间(逻辑分区),系统部分20G以上,越多越好,挂载点为 /(主分区),剩下的都给home,挂载点为/home(逻辑分区)。其他类型操作:https://www.cnblogs.com/masbay/p/10745170.html

Ubuntu22.04配置源

1、软件与更新中配置阿里云源
配置完成后执行以下命令

sudo apt-get update
sudo apt-get upgrade

2.2022.09.14更:更新完源后,通过软件更新器把linux内核更新,更新后去附加驱动更新显卡再重启。(若系统没有自动安装显卡驱动,这一步是比较稳妥的,原因为:自己更新驱动会自动把系统内核更新,从而导致进不了系统)

3、通过nvidia-smi查看显卡驱动是否装好,若没有装好则去软件与更新的附加驱动更新显卡

Ubuntu禁止内核更新

1、查看系统的内核

sudo dpkg --get-selections | grep linux
sudo dpkg --get-selections | grep linux-image

2、查看正在使用的内核

uname -r

3、禁止内核更新

sudo apt-mark hold linux-image-x.x.x-xx-generic
sudo apt-mark hold linux-image-extra-x.x.x-xx-generic(有的话)
sudo apt-mark hold linux-image-generic linux-headers-generic(好像修改的是4、5步的值)

4、接着,输入如下指令:

sudo vim /etc/apt/apt.conf.d/10periodic

禁止自动更新修改内容如下:

APT::Periodic::Update-Package-Lists "0";
APT::Periodic::Download-Upgradeable-Packages "0";
APT::Periodic::AutocleanInterval "0";
APT::Periodic::Unattended-Upgrade "0";

5、再然后,输入如下指令:

sudo vim /etc/apt/apt.conf.d/20auto-upgrades

APT::Periodic::Update-Package-Lists "0";
APT::Periodic::Download-Upgradeable-Packages "0";
APT::Periodic::AutocleanInterval "0";
APT::Periodic::Unattended-Upgrade "0";

sudo免密

使用

sudo visudo

命令打开,如果失败了用sudo vi /etc/sudoers

在最下面一行加上,下面的username需要改成自己的用户名.

username ALL=(ALL:ALL) NOPASSWD:ALL

配置pip豆瓣源

cd ~
mkdir .pip

直接新建并编辑pip.conf:
sudo vim ~/.pip/pip.conf
改为以下内容:
[global]
index-url = https://pypi.douban.com/simple/ 
[install]
trusted-host = https://pypi.douban.com

cuda安装

通过nvidia-smi查看当前显卡驱动版本

请添加图片描述

通过https://docs.nvidia.cn/cuda/cuda-toolkit-release-notes/index.html找到与之对应的cuda版本。
请添加图片描述

再通过https://developer.nvidia.cn/cuda-toolkit-archive下载该版本的cuda(点击下载)

请添加图片描述

楼主用的是Ubuntu22.04,通过runfile方式下载

请添加图片描述

若执行sudo sh xx.run命令后提示Failed to verify gcc version.

则使用sudo sh xx.run --override命令安装(GCC版本不兼容,忽略这个问题)

由于我们自己装的显卡驱动版本更高,所以取消cuda安装时的显卡驱动安装,最后install

请添加图片描述
请添加图片描述

安装完成后修改bashrc文件内容

sudo gedit ~/.bashrc

在最后添加以下命令

#cuda11.6
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.6/lib64
export PATH=$PATH:/usr/local/cuda-11.6/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-11.6

保存并退出后,运行source ~/.bashrc

使用命令nvcc -V查看安装的版本信息:
请添加图片描述

安装CuDNN

进入https://developer.nvidia.cn/rdp/cudnn-archive下载cuDNN8.4.0(支持cuda11.6)

请添加图片描述

也可直接使用链接下载(https://developer.nvidia.cn/compute/cudnn/secure/8.4.0/local_installers/11.6/cudnn-linux-x86_64-8.4.0.27_cuda11.6-archive.tar.xz)

下载好后通过tar解压
请添加图片描述

进入解压后的目录运行以下命令:

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

拷贝完成之后,可以使用以下命令查看CUDNN的版本信息:

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

可以看到版本信息如下,为8.4.0
请添加图片描述

安装Conda环境

下载conda源

https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/

bash AnacondaXXX.sh

配置conda源

查看源

conda config --show-sources

中科大conda镜像(中科大和清华二选一即)

conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/msys2/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/bioconda/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/menpo/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/pytorch/
conda config --set show_channel_urls yes

清华conda镜像

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
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 --append channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/fastai/
conda config --append channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --append channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
conda config --set show_channel_urls yes

移除源命令

conda config --remove channels

操作

conda config --remove channels 'https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/'

恢复默认源头

conda config --remove-key channels

安装pycharm环境

https://www.jetbrains.com.cn/pycharm/download/#section=linux

https://www.cnblogs.com/beimengRock/p/16026244.html

安装git环境

sudo apt install git

挂载操作

单次挂载 系统重启之后,挂载将会失效

mount /dev/sda2 /media/disk1 

永久挂载硬盘:需要修改 /etc/fstab

使用 lsblk 查看服务器上磁盘挂载情况

1.新建目录,用于挂载磁盘

sudo mkdir /home/myname/pan1
# /home/myname/pan1 由你自己定义。

2.如果你磁盘里面有东西,但是你不想要这些东西,可以格式化磁盘(由于用的是ext4格式化,所以最后磁盘格式会变成ext4)。但如果你想保留磁盘里原来的东西,这一步可以忽略

sudo mkfs.ext4 /edv/sdb1

3.查看要挂载的磁盘格式。

sudo blkid /dev/sdb1

4.修改/etc/fstab文件,这一步是实现永久挂载的关键

sudo vim /etc/fstab

5.在打开的fstab文件最后添加

UUID=9E5ED2D65ED2A5F5  /home/myname/pan1 ext4  defaults 0  1
#磁盘的UUID(第三步查看得到的UUID)  挂载路径(就是第二步新建的目录)  ext4(磁盘的格式,第三步查看得到的格式)  defaults 0  1(这几个暂时不清楚)

Linux启动ssh服务并进行远程连接

1.首先在Ubuntu上安装openssh-server

sudo apt install openssh-server

安装好以后,ssh server应该已经开始运行了,可以用下面的命令检查ssh server的状态

systemctl status sshd

2.设置ssh server开机启动

sudo systemctl enable ssh

3.现在就可以用 ssh username@IP远程连接电脑了

查询IP地址

ip a

Linux下常用操作

监控GPU使用情况
watch -n 1 -d nvidia-smi

watch -n 0.5 -d nvidia-smi

tar解压
tar -xvf xx.tar

zip解压
unzip xx.zip
压缩文件: zip xxx.zip file
压缩目录: zip -r xxx.zip dir

监控进程使用情况
sudo apt-get install htop
htop

查看主板信息
sudo dmidecode | grep -in -A 10 --color=auto 'base board'

软连接
ln -s 源文件夹 目的文件夹

杀死某一pid进程
kill -9 pid

Ubuntu软件中心
sudo apt install plasma-discover
ia-smi

删除所有python相关进程
sudo kill -9 $(pidof python)

查看分区情况
fdisk -l 

查看系统的磁盘空间占用情况
df -h

查看指定目录的使用空间大小(提前进入指定目录,或后面添加路径)
du -sh
du -sh 目录路径

查看当前目录下占用空间最多的前10个文件或目录
du -cks * | sort -rn | head -n 10

查看指定路径下所有文件的大小
du -h --max-depth=2 /home/...

查看根目录下各文件夹的占用空间大小
sudo du -sh /* --exclude proc


Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐