本人因为工作需要,配置了一台 intel 12代酷睿+RTx3090的机器。发现Ubuntu之前的版本(20或者18)根本不支持这台机器的硬件(出现了无法联网的情况)。无奈之下配置了Ubuntu 22.04的系统。配置过程中出现了不少新问题,这里记录一下希望能帮到各位。
由于这台配置的工作站硬件非常新,所以Ubuntu以往的版本安装后无法正常使用。故你使用12代英特尔平台请安装Ubuntu 22.04版本的系统。网上安装系统教程太多了,这里不再赘述安装过程。准备个16G u盘即可。
安装后,1. 及时将系统软件包的下载源更换为清华源
sudo gedit /etc/apt/sources.list
将文件内容替换为下面的内容,并保存:
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse
更换后,命令行输入这些命令进行更新:
sudo apt update
sudo apt upgrade
2. 及时替换python 的pip源
cd ~
mkdir .pip
sudo gedit ~/.pip/pip.conf
在文本输入下面内容,并保存:
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple/
[install]
trusted-host = pypi.tuna.tsinghua.edu.cn
这里推荐最简单最省事的方法,如果试其他方法请自行百度。
1. 点击桌面左上角,搜索栏输入 software & updates,点击下面出现的图标
2. 点击Additional drivers,选择如图所示的版本驱动,点击apply changes,等待安装完成重启即可。(不建议选最新的驱动版本)
3. 在命令行输入 nvidia-smi 如果输出如下信息说明安装驱动成功
百度搜索 cuda 11.3 download,点击第一个出现的地址为nvidia的搜索结果。
因为目前是在22.04的系统环境下安装cuda11.3,所以安装过程中会出现缺少某个软件或者gcc版本不对的问题。别慌,下面是解决方法:
Ubuntu 22.04自带的gcc是11的,而编译cuda需要9,所以需要更换gcc版本
命令行输入下面的内容,安装 gcc 9
sudo apt install gcc-9 g++-9
更改gcc优先级,降低gcc 11的优先级,使得系统默认调用gcc 9
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 70 --slave /usr/bin/g++ g++ /usr/bin/g++-11 --slave /usr/bin/gcov gcov /usr/bin/gcov-11
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 100 --slave /usr/bin/g++ g++ /usr/bin/g++-9 --slave /usr/bin/gcov gcov /usr/bin/gcov-9
此时命令行输入 sudo update-alternatives --config gcc 可以看到gcc 9的优先级最高。
需要到这个网站下载这个包,然后安装这个包即可。
这样一来,就可以顺利安装cuda 了。因为之前安装了驱动,所以会报下面的警告,无视他即可
因为之前安装了驱动,所以下面这个只需要把cuda tool装上即可,其他的不用安装
配置环境变量:
sudo gedit ~/.bashrc
在文件末尾加上如下内容,并保存
export CUDA_HOME=/usr/local/cuda-11.3
export LD_LIBRARY_PATH=${CUDA_HOME}/lib64
export PATH=${CUDA_HOME}/bin:${PATH}
然后命令行输入下面内容 使其生效。
source ~/.bashrc
命令行输入nvcc -V 出现下面的信息说明安装成功
安装过程就不赘述了,这里说一点更重要的事。记得替换conda的下载源,不然pytorch等软件下载不了。
接下来配置.condarc ,
cd ~
gedit .condarc
.condarc文件的内容直接复制我下面的即可:
channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/linux-64/
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/linux-64/
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
show_channel_urls: true
default_channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
我这台机器配置好后是pytorch 1.11+Python3.8,可以正常跑yolov5(其实出了一点问题,不过可以通过降低pytorch版本至1.7左右解决,不过我没有降版本,而是手动解决了)