第 3 節

安裝必備配置

0瀏覽次數0訪問次數--跳出率--平均停留

  軟件包換源(以Debian系的發行版為例)

打開下方網站(注意,該Ubuntu倉庫版本是X86、amd64的倉庫,ARM的倉庫並非該網站(99.9%的人的電腦是X86的,很多工控機是ARM的,但工控機也有X86的,請看Vinci機器人隊單片機教程中講的瞭解一下,或者自行百度。)

下方這幾個鏡像源選一個即可。

https://mirrors.bfsu.edu.cn/help/ubuntu/

https://mirrors.cloud.tencent.com/help/ubuntu.html

https://developer.aliyun.com/mirror/ubuntu

https://mirrors.sustech.edu.cn/help/ubuntu.html#introduction

https://mirrors.ustc.edu.cn/help/ubuntu.html

https://help.mirrors.cernet.edu.cn/ubuntu/

可以測速,選擇出速度最快的源。

curl https://mirrors.cernet.edu.cn/oh-my-mirrorz.py | python3

在北方(山東)測速如下:

在南方(廣東)測速如下:

在南北都比較快的是北京外国语大学BFSU南方科技大学SUSTech,不想測速可以無腦選,也可以測速選擇最好的源。

  Ubuntu22.04(及Debian10)及以下版本

輸入以下命令

sudo apt update
sudo apt install vim
sudo vim /etc/apt/sources.list

在以下界面,用鍵盤按ggdG(注意區分大小寫)

選擇好Ubuntu版本後,

粘貼進去

按一下ESC,然後英文冒號,輸入 :wq!然後回車

輸入以下命令

sudo apt update

下方出現對應學校源網站則成功

至此換源結束

  Ubuntu24.04(及Debian12)及以上版本

sudo apt update
sudo apt install vim
sudo rm -rf /etc/apt/sources.list
sudo rm -rf /etc/apt/sources.list.d/**

sudo vim /etc/apt/sources.list.d/ubuntu.sources

選擇好Ubuntu版本後,複製下方的內容。

粘貼進去

按一下ESC,然後英文冒號,輸入 :wq!然後回車

輸入以下命令

sudo apt update

這裡被替換成對應學校則成功

Fedora41(DNF5)及之後

https://mirrors.bfsu.edu.cn/help/fedora/

https://help.mirrors.cernet.edu.cn/fedora/

sed -e 's|^metalink=|#metalink=|g' \
    -e 's|^#baseurl=http://download.example/pub/fedora/linux|baseurl=https://mirrors.bfsu.edu.cn/fedora|g' \
    -i.bak \
    /etc/yum.repos.d/fedora.repo \
    /etc/yum.repos.d/fedora-updates.repo

卸載噁心的snap(Ubuntu的衍生版)

⚠️官方默認原版Ubuntu Gnome****不要卸載snap,會g.原版Ubuntu只能繼續讓snap噁心你,沒辦法。(現在貌似非原版ubuntu也不允許卸載了,噁心壞了)

所以我一直都推薦Ubuntu KDE(也就是Kubuntu)。

安裝非firefox瀏覽器

卸載snap前,請先安裝一個瀏覽器(以Google Chrome為例)(這裡是因為Ubuntu默認安裝的是snap版本的FireFox)

以下是Google上海服務器的Chrome官網(無需掛梯)

https://www.google.cn/chrome/index.html

咱們這裡是Ubuntu所以是Debian系的系統,所以選deb擴展名的程序包。(也就是紅色框框)

紅帽系則需要安裝的是rpm擴展名程序包。(也就是藍色框框)

#某些发行版中,可能Downloads是中文下载,所以就需要  cd ~/下载
cd ~/Downloads
#下方chrome安装包名不一定是这个,根据名字来看
sudo apt install ./google-chrome-stable_current_amd64.deb

查看snap包應用數量


# 老版
sudo apt update
sudo apt install neofetch
neofetch

# 新版
sudo add-apt-repository ppa:zhangsongcui3371/fastfetch
sudo apt update
sudo apt install fastfetch
fastfetch

# windows 想看系统信息的话
winget install fastfetch
#重启 powershell
fastfetch

這裡顯示,一共有3162個debian的程序,7個snap程序

移除snap應用

系統在啟動時,會自動啟動Snap相關服務,我們先禁用掉這些服務

sudo systemctl disable snapd.service
sudo systemctl disable snapd.socket
sudo systemctl disable snapd.seeded.service

然後查看snap應用列表

根據你安裝的選擇不同(最小安裝或普通安裝),有不同的Snap軟件會被預裝到系統,在刪除Snap服務之前,我們需要移除Snap安裝的這些


# 查询当前系统上snap安装了哪些app
snap list

卸載掉圖中所有應用,按照先刪除應用軟件,再刪除非應用軟件的順序進行刪除

#移除snap-store,如果是Kubuntu,则没有这个东西,测不需要卸载
sudo snap remove snap-store
#移除firefox浏览器 gnome-42-2204 gtk-common-themes(可以一次性移除多个)
sudo snap remove firefox gnome-42-2204 gtk-common-themes
#移除其它...

#移除core22,bare以及snapd(下面这些需要最后再移除,否则会报错)
sudo snap remove core22
sudo snap remove bare
sudo snap remove snapd

輸入以下命令查看是否還有snap包

snap list

# 老版
neofetch

# 新版
fastfetch

移除snap

在刪除掉Snap安裝的軟件後,下一步就是把Snap本身也刪除掉,這裡需要使用Apt來實現(謹慎卸載,可視化頁面容易崩)

 #使用apt移除掉snap
sudo apt autoremove --purge snapd
#移除snapd的一些目录
sudo rm -rf /var/cache/snapd
sudo rm -rf ~/snap

至此,其實snap已經被刪除掉了。但是這個並不足夠,如果你使用apt安裝一些軟件 sudo apt install firefox時,會自動下載並重新安裝snap服務。因為Ubuntu源中的一些軟件已經是snap版本,而非deb版本,下載snap版本時,會自動檢查並在必要時重新安裝snap服務。這也是Canonical為了推廣自己的Snap Store而做的一些額外的努力吧。(這一點最被很多人不喜歡)

禁止系統自動安裝snap

我們可以利用APT可配置禁用安裝哪些依賴的特性,來實現禁止重新自動安裝Snap服務

sudo vim /etc/apt/preferences.d/nosnap.pref

按insert進入編輯模式,然後複製以下內容,最後按ESC,切換為英文輸入法模式,然後敲 :wq 回車

Package: snapd
Pin: release a=*
Pin-Priority: -10

測試是否成功

sudo apt update
sudo apt install firefox

這裡提示snapd無法被安裝,就證明成功了

重新安裝FireFox瀏覽器(沒大有必要)

我個人其實更偏好Google Chrome瀏覽器,瀏覽器是從Chrome官網下載deb進行安裝的。所以我有瀏覽器了,就沒必要安裝火狐瀏覽器了,

但如果你確實喜歡Firefox,在刪除掉Snap後,其實沒法再通過Snap或Apt來安裝Firefox了,而Firefox官網提供的下載,又沒有deb包,沒有桌面快捷方式,不是非常方便。

所以,你可以考慮使用Mozilla提供的源來安裝debian版本的Firefox


# 添加Mozilla提供的源
sudo add-apt-repository ppa:mozillateam/ppa

# 安装Firefox
sudo apt update
sudo apt install firefox

跨Ubuntu大版本更新

跨Ubuntu大版本更新,是指從Ubuntu22.04LTS更新到Ubuntu24.04LTS這種大版本更新。

跨Ubuntu大版本更新時,建議恢復snap,等更新完畢後再刪掉snap,以防止Canonical公司從中作妖。

#删掉禁止安装snap的配置文件
sudo rm -rf /etc/apt/preferences.d/nosnap.pref
sudo apt update

sudo apt dist-update

切換系統語言到中文

(實在不喜歡英文的可以切換,以KDE6為例子,其他類似)

中文輸入法

搜狗(不建議)(Ubuntu22.04 以下)

官網下載搜狗輸入法

打開終端輸入如下

cd ~/Downloads/
sudo apt install ./sogoupinyin_4.2.1.145_amd64.deb

打開Fcitx

添加搜狗輸入法

將搜狗輸入法設置為唯一輸入法

Fcitx5(Ubuntu22.04 以上、Debian12及以上、Fedora)

  1. 卸載舊輸入法

# Ubuntu或者Debian
sudo apt purge fcitx* ibus*

# Fedora

# 应该不用干任何事,fedora41基本都移除了
  1. 安裝Fcitx5

# Ubuntu22.04及以上、Debian12及以上
sudo apt install fcitx5 fcitx5-chinese-addons

# Ubuntu20.04
sudo add-apt-repository ppa:zhsj/fcitx5
sudo apt update
sudo apt install fcitx5 fcitx5-chinese-addons

# Fedora
sudo dnf install fcitx5 fcitx5-chinese-addons fcitx5-autostart
  1. Reboot System重啟系統
  2. 啟動Fcitx5

  1. 修改一些設置

將Pinyin和Keyboard - English US加入到左邊。(如果找不到,不要勾選右邊的僅顯示當前語言)

添加快捷鍵以便於更好切換中英文

  1. 配置環境變量
    1. 如果你是KDE+Wayland,則還需要下面這個步驟(Kubuntu26.04及以上,Debian13及以上,Rocky10及以上,Fedora等)


    1. 如果你是KDE+X11,則還需要下面這個步驟(大多數發行版的低版本,可以用fastfetch看具體的用的x11還是wayland)
    vim ~/.config/plasma-workspace/env/fcitx5.sh
    
    export GTK_IM_MODULE=fcitx
    export QT_IM_MODULE=fcitx
    export XMODIFIERS="@im=fcitx"
    export SDL_IM_MODULE=fcitx
    export INPUT_METHOD=fcitx
    

    再重啟
  2. 重啟
sudo shutdown -r now
  1. 使用Fcitx5工具箱優化Fcitx5(進入Github自己看說明書安裝)

https://github.com/debuggerx01/fcitx5\_customizer


# Ubuntu

# 直接在线执行工具箱优化
curl -sSL https://fcitx5.debuggerx.com/fcitx5_customizer.sh | bash -s -- recommend

# Fedora

# 直接在线执行工具箱优化
curl -sSL https://fcitx5.debuggerx.com/fcitx5_customizer.sh | bash -s -- recommend
  1. 再重啟
sudo shutdown -r now

pip3源替換

非Debian系發行版需要做。

像Ubuntu、Debian這類使用apt工具的發行版不需要此操作。

使用dnf的系統(如Fedora,RHEL,RockyLinux)也可能可以不用做。

https://mirrors.tuna.tsinghua.edu.cn/help/pypi/

按圖中順序敲,但是不出意外的話,會報錯,因為大部分發行版不自帶pip,所以請接著往下看。

#安装pip3
sudo apt update
sudo apt-get install python3-pip

#更新pip3
python3 -m pip install -i https://mirrors.bfsu.edu.cn/pypi/web/simple --upgrade pip

#设置pip源为北京外国语大学镜像源
pip3 config set global.index-url https://mirrors.bfsu.edu.cn/pypi/web/simple

#测试
python3 -m pip install --upgrade pip

成功的話,會看到Looking後面是bfsu字樣。

RPMFusion安裝並換源

(僅紅帽系,即Ubuntu等Debian系的不用弄)

https://mirrors.bfsu.edu.cn/help/rpmfusion/

  1. 先用下方命令查詢你是否開啟了rpmfusion.
rpm -qa | grep rpmfusion

  1. 如果開啟了的話,就先卸載rpmfusion
sudo dnf remove rpmfusion-free-release rpmfusion-nonfree-release

  1. 安裝北京外國語大學的rpmfusion
    1. Fedora
    
    # 安装免费仓库非免费仓库
    sudo dnf install --nogpgcheck https://mirrors.bfsu.edu.cn/rpmfusion/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.bfsu.edu.cn/rpmfusion/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
    
    1. RHEL、RockyLinux
    
    # 安装免费仓库非免费仓库
    sudo dnf install --nogpgcheck https://mirrors.bfsu.edu.cn/rpmfusion/free/fedora/rpmfusion-free-release-$(rpm -E %rhel).noarch.rpm https://mirrors.bfsu.edu.cn/rpmfusion/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %rhel).noarch.rpm
    
  2. 把其他rpmfusion倉庫也改為bfsu源
sudo sed -e 's!^metalink=!#metalink=!g' \
         -e 's!^mirrorlist=!#mirrorlist=!g' \
         -e 's!^#baseurl=!baseurl=!g' \
         -e 's!https\?://download1\.rpmfusion\.org/!https://mirrors.bfsu.edu.cn/rpmfusion/!g' \
         -i /etc/yum.repos.d/rpmfusion*.repo
  1. 檢查修改好的倉庫
grep "mirrors.bfsu" /etc/yum.repos.d/rpmfusion*.repo

可以看到不止free和nonfree的源換了,英偉達和steam也換了。

  1. 刷新倉庫緩存
sudo dnf clean all
sudo dnf makecache

時間不同步

雙系統會導致Ubuntu比Windows的時間快8小時,而Windows的時間比Ubuntu慢8小時,所以需要解決系統時間同步的問題。還是第一次分享的那個視頻,後面有一節講到了時間同步的問題。

建議:打開字幕觀看,因為有些莫名出現的問題,會在彈幕裡有解答

https://www.bilibili.com/video/BV1554y1n7zv/?vd\_source=ceb9c29ca8792358f229b53eef0c1448

顯卡驅動安裝

卸載顯卡驅動(卸載乾淨)


# 如果使用了.run文件进行安装的,再使用下面命令卸载干净
sudo /usr/bin/nvidia-uninstall

# 如果是使用apt安装的驱动
sudo apt-get remove --purge nvidia*

# 如果是使用dnf安装的驱动
sudo dnf remove nvidia*

常見問題(遇到問題再翻上來看這裡)

  1. 禁用開源驅動nouveau,nouveau經常會引起卡頓黑屏花屏,所以要禁用
sudo vim /etc/modprobe.d/blacklist-nouveau.conf

blacklist-nouveau.conf文件內容如下:

blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off

接著運行下方命令


# debian系选这个(Ubuntu等)
sudo update-initramfs -u

# 红帽系选这个(Fedora,Rocky等)
sudo dracut --force

# 重启
sudo reboot

重啟後,查詢nouveau是否還開著,如果什麼都不出現,說明禁用成功。

lsmod | grep nouveau
  1. 無法調節屏幕亮度,無法使用HDMI插口(這是因為xorg文件和grub沒配置)( 僅X11 ,例如Ubuntu24.04及以下,像Fedora等使用wayland的不能用下方的配置。)

先配置xorg

sudo vim /usr/share/X11/xorg.conf.d/10-nvidia.conf

並把10-nvidia.conf裡的內容修改為下方內容並保存,然後重啟即可。

Section "OutputClass"
   Identifier "nvidia"
   MatchDriver "nvidia-drm"
   Driver "nvidia"
   Option "AllowEmptyInitialConfiguration"
   Option "PrimaryGPU" "yes"
   ModulePath "/usr/lib/x86_64-linux-gnu/nvidia/xorg"
EndSection

# 或者

Section "OutputClass" 
    Identifier     "nvidia" 
    MatchDriver    "nvidia-drm" 
    Driver         "nvidia" 
    Option         "RegistryDwords" "EnableBrightnessControl=1;PrimaryGPU=1" 
    Option         "Backlight" "nvidia_0" 
    ModulePath     "/usr/lib/x86_64-linux-gnu/nvidia/xorg" 
EndSection

再配置grub

sudo vim /etc/default/grub

grub參數添加上下面這些參數,注意是添加啊,可不是改為這樣,原來的參數要保留。

GRUB_CMDLINE_LINUX_DEFAULT="nvidia.NVreg_EnableBacklightControl=1 acpi_backlight=native video.use_native_backlight=0"


# debian系选这个(Ubuntu等)
sudo update-initramfs -u
#或
sudo update-grub

# 红帽系选这个(Fedora,Rocky等)
sudo dracut --force

sudo reboot

重啟即可

  1. 安裝N卡驅動提示錯誤
Unable to find the kernel source tree for the currently running kernel.  Please make sure you have installed the kernel source files for your kernel and that they are properly configured; on Red Hat Linux systems, for example, be sure you have the 'kernel-source' or 'kernel-devel' RPM installed.If you know the correct kernel source files are installed, you may specify the kernel source path with the '--kernel-source-path' command line option.
  1. 檢查當前運行的內核版本:

運行以下命令以查看你當前正在使用的內核版本:

uname -r
  1. 安裝內核開發文件:

確保你已經安裝了與當前內核版本相匹配的 kernel-devel 包。運行以下命令來安裝:

sudo dnf install kernel-devel-$(uname -r)

這將自動安裝與你當前內核版本匹配的內核開發包。

  1. 安裝內核源代碼(可選):

如果需要訪問完整的內核源代碼,你可以運行以下命令來安裝它:

sudo dnf install kernel-headers kernel-source
  1. 檢查安裝:

安裝完成後,確認路徑是否正確。內核源文件通常位於 /usr/src/kernels/ 目錄下,你可以使用以下命令來檢查該目錄是否存在:

ls /usr/src/kernels/

如果仍然遇到問題,可以通過 --kernel-source-path 選項手動指定內核源文件路徑。

安裝方式推薦

下面有三個方式安裝驅動,教程基本都寫了,分別是通用方式,APT方式,DNF方式。

新手建議使用APT方式(Ubuntu或者Debian)或者DNF方式(Fedora或者RockyLinux)安裝 NVIDIA驅動 ,然後CUDA用通用方式安裝,CUDNN依然用APT或者DNF方式安裝。

(你是新手的話,老老實實按照下方的表格推薦的方式進行安裝,別瞎整活)

各發行版推薦使用的方式
NVIDIA驅動
CUDA
cuDNN

APT安裝(方式一:適合Debian,Ubuntu等)

安裝顯卡驅動

這種方式安裝的顯卡驅動,以後更新內核後都不用再重新安裝顯卡驅動了。

Ubuntu

# 安装英伟达驱动
sudo apt install nvidia-driver-版本号

# 重启 (必须重启)
sudo shutdown -r now

# 检查驱动是否安装成功
nvidia-smi
Debian

# 安装内核头文件和编译工具
sudo apt install -y linux-headers-amd64 build-essential

# 安装英伟达驱动
sudo apt install nvidia-driver

# 重启
sudo shutdown -r now

# 检查驱动是否安装成功
nvidia-smi
安裝CUDA

(請使用方式一通用法)

安裝cuDNN

選擇CuDNN v9版本(該版本安裝和CUDA差不多,可以看著官網教程來安裝)

https://developer.nvidia.com/cudnn-archive

DNF安裝(方式二:適合Fedora,Rocky等)

安裝顯卡驅動

如果我們使用通用方式安裝顯卡驅動,會發現每次Feodra更新內核後,顯卡驅動都會掉,如何解決這個辦法呢?請採用DNF安裝顯卡驅動。

這種方式安裝的顯卡驅動,以後更新內核後都不用再重新安裝顯卡驅動了。(安裝新內核後,重啟時會自動觸發 akmod 的構建流程。此時,系統會生成與新內核匹配的 NVIDIA 驅動模塊。)

注意,安裝驅動之前,要確定自己沒用.run等方式安裝了驅動。可以用nvidia-smi命令查看,如果提示沒安裝驅動就可以。如果提示當前已經安裝了驅動,請先卸載驅動(卸載教程上面應該有)或者等下一次內核更新(內核更新會掉.run安裝的驅動)

Fedora

# 启用 RPM Fusion 仓库(北京外国语源)
sudo dnf install --nogpgcheck https://mirrors.bfsu.edu.cn/rpmfusion/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.bfsu.edu.cn/rpmfusion/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm

# 安装驱动和内核工具
sudo dnf install akmod-nvidia  # 自动适配内核的驱动(重点)
sudo dnf install xorg-x11-drv-nvidia-cuda  # 包含 CUDA 支持

# 重启并验证(这种方式必须重启)
sudo reboot
nvidia-smi  # 检查驱动版本(如 570.86.16)
安裝CUDA

通過dnf安裝完顯卡驅動後,也可以使用通用法安裝CUDA,這種方法也很方便(CUDA在更新內核後不會掉的)。

也可以使用下面這種dnf的方式進行CUDA安裝。

(此教程以Fedora41和RTX3060Laptop為例)(Rocky,RHEL也類似)

  1. 先查看顯卡驅動所支持的最高CUDA版本
nvidia-smi

左邊是英偉達驅動版本,右邊是所支持CUDA的最高版本,注意是最高版本,比這個版本低的CUDA都是可以安裝的。(不用追求最高,穩定即可,雖然都很穩定)

  1. 下載CUDA並安裝CUDA

https://developer.nvidia.com/cuda-toolkit-archive

選擇一個版本,這裡以CUDA12.4為例(綠色框住的都是我這臺電腦對應可安裝的版本,而紅色框則不能)

我這裡是Intel CPU(X86_64架構或者叫amd64架構),所以選擇X86_64。(AMD和Intel全是X86的,如果分不清,請看Vinci機器人隊單片機教程

我是Fedora41,所以選擇了Fedora41 ,(你是RockyLinux要選擇RockyLinux)如下圖所示:

https://developer.nvidia.com/cuda-toolkit-archive

按照網站對應的部分敲,如我上圖裡是這樣的:

wget https://developer.download.nvidia.com/compute/cuda/12.8.0/local_installers/cuda-repo-fedora41-12-8-local-12.8.0_570.86.10-1.x86_64.rpm
sudo dnf install ./cuda-repo-fedora41-12-8-local-12.8.0_570.86.10-1.x86_64.rpm
sudo dnf clean all
sudo dnf -y install cuda-toolkit-12-8

進行環境配置:

sudo vim ~/.bashrc

複製下面這一串到~/.bashrc文件中,並保存,不會用vim編輯器的請自行百度。

export PATH=/usr/local/cuda-12.4/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-12.4/lib64:$LD_LIBRARY_PATH

或者(更建議下方這個)

export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH


# 刷新当前终端的环境变量
source ~/.bashrc

# 验证CUDA是否安装成功
nvcc -V

出現下圖這種則安裝成功。

安裝cuDNN

選擇CuDNN v9版本(該版本安裝和CUDA差不多,可以看著官網教程來安裝)

https://developer.nvidia.com/cudnn-archive

通用方式(方式三:腳本或壓縮包方式)

遇到問題請看 常見問題 那節,看看有沒有對應解決方案。(對於Ubuntu,Debian,Fedora,Rocky的常見問題應該是全的)

安裝顯卡驅動

使用這種方式安裝,需要先禁用掉nouveau,請先往下翻,找到**常見問題(在上面一兩小節)**那節內容裡的禁用nouveau,將nouveau禁用。

先下載N卡驅動,下載.run擴展名的

https://www.nvidia.cn/drivers/lookup/

用以下命令停止可視化桌面環境(用ctrl alt f*也可以)(也可以不禁用桌面環境,直接進行下一步。)


# 通用的命令(sudo telinit 5是打开图形界面)
sudo telinit 3

# ubuntu 使用下方命令
sudo service lightdm stop

# Fedora 使用下方命令
sudo systemctl isolate multi-user.target

之後會進入一個新的命令行會話,使用當前的用戶名密碼登錄。(不用使用root用戶)


# 编译环境+准备工作
sudo apt install build-essential

# 进入到.run目录中
cd /home/tungchiahui/Downloads/

# 给驱动文件增加可执行权限:
sudo chmod a+x NVIDIA-Linux-x86_64-550.107.02.run

# 然后执行安装:
sudo ./NVIDIA-Linux-x86_64-550.107.02.run

# 如果有异常则:(一般不用下方这条,会导致OPENGL没法被安装,这样ROS有些功能无法使用)
sudo ./NVIDIA-Linux-x86_64-550.107.02.run  --no-opengl-files

安裝完畢重啟即可


# 重启 
sudo reboot

# 检查驱动是否安装成功
nvidia-smi
安裝CUDA

(此教程以Debian 12 Bookworm和RTX3060Laptop為例)(Ubuntu,Fedora也類似)

  1. 先查看顯卡驅動所支持的最高CUDA版本
nvidia-smi

左邊是英偉達驅動版本,右邊是所支持CUDA的最高版本,注意是最高版本,比這個版本低的CUDA都是可以安裝的。(不用追求最高,穩定即可,雖然都很穩定)

  1. 下載CUDA並安裝CUDA

https://developer.nvidia.com/cuda-toolkit-archive

選擇一個版本,這裡以CUDA12.4為例(綠色框住的都是我這臺電腦對應可安裝的版本,而紅色框則不能)

我這裡是Intel CPU(X86_64架構或者叫amd64架構),所以選擇X86_64。(AMD和Intel全是X86的,如果分不清,請看Vinci機器人隊單片機教程

我是Debian12,所以選擇了Debian12 ,(你是Ubuntu要選擇Ubuntu)如下圖所示,建議選擇runfile文件進行安裝。

將最下方框框裡的命令敲入終端


# 在当前文件夹下创建一个ttt的子文件夹
mkdir -p ./ttt

# 进入ttt文件夹
cd ttt

# 输入复制的第一条命令(用来下载cuda的runfile文件)
wget https://developer.download.nvidia.com/compute/cuda/12.4.0/local_installers/cuda_12.4.0_550.54.14_linux.run

# 给予权限
sudo chmod a+x ./cuda_12.4.0_550.54.14_linux.run

# 运行脚本
sudo ./cuda_12.4.0_550.54.14_linux.run

正在加載中:

輸入accept接受即可

因為我們已經安裝了驅動,所以刪掉該項,Install即可。( 一定不要勾選安裝驅動 ,新手避免非必要的麻煩)

等待片刻後,一般不出紅色字體就是安裝成功了,可以讀讀英語確認一下。(順便確定一下位置)

  1. 配置環境

根據上方確認一下路徑,比如我上面紅色框起來的為

Please make sure that - PATH includes /usr/local/cuda-12.4/bin - LD_LIBRARY_PATH includes /usr/local/cuda-12.4/lib64, or, add /usr/local/cuda-12.4/lib64 to /etc/ld.so.conf and run ldconfig as root

如果剛才忘記查看了,也可以使用下方命令查看路徑:

which nvcc

所以我進行以下操作:

sudo vim ~/.bashrc

複製下面這一串到~/.bashrc文件中,並保存,不會用vim編輯器的請自行百度。

export PATH=/usr/local/cuda-12.4/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-12.4/lib64:$LD_LIBRARY_PATH

或者

export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH


# 刷新当前终端的环境变量
source ~/.bashrc

# 验证CUDA是否安装成功
nvcc -V

出現下圖這種則安裝成功。

安裝cuDNN**(基本廢棄,請往下看apt和dnf安裝CuDNN的方式)**
  1. 據安裝好的CUDA版本選擇合適的cuDNN版本進行下載,注意這裡是需要註冊登錄的:

https://developer.nvidia.cn/rdp/cudnn-archive#a-collapse805-111

因為我是CUDA12.4,所以下方紅圈版本都是可以安裝的,越新越好。(上方網站最高版本也就v8.9.7,還有更新的版本,可以直接往下看apt和dnf方式安裝)

紅色是X86架構的所有Linux通用的,所以我選擇紅色的。

綠色的是X86架構的Ubuntu,是Ubuntu且CPU為X86架構的可以選擇下載。

藍色的是arm64(aarch64)架構的Ubuntu,是Ubuntu且CPU為arm64(aarch64)架構的可以選擇下載。

我這裡選擇所有Linux X86_64最通用的辦法:

下載好的:

  1. 安裝cuDNN

找到該文件所在目錄,並打開終端,cd到該目錄。

解壓文件,並複製到對應位置完成安裝


# 解压cuDNN文件
tar -xvf ./cudnn-linux-x86_64-8.9.7.29_cuda12-archive.tar.xz

# cd进文件夹
cd ./cudnn-linux-x86_64-8.9.7.29_cuda12-archive

# 复制cuDNN文件到CUDA目录
sudo cp include/cudnn*    /usr/local/cuda/include
sudo cp lib/libcudnn*    /usr/local/cuda/lib64

# 对比一下有没有缺文件
ls /usr/local/cuda/include/cudnn*
ls /usr/local/cuda/lib64/libcudnn*

# 给予权限
sudo chmod a+r /usr/local/cuda/include/cudnn*
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
  1. 檢查是否安裝成功

# 检查cuDNN版本命令
cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

出現下圖這樣的就是安裝成功了

  1. 軟鏈接

# 运行 ldconfig 以更新库缓存:(如果运行 ldconfig 后没有出现任何错误,说明配置已经完成。)
sudo ldconfig

如果出現下列提示,則需要軟鏈接**(如果沒有下列提示,則什麼都不需要做)**

ldconfig: /usr/local/cuda-12.4/targets/x86_64-linux/lib/libcudnn_cnn_train.so.8 is not a symbolic link  
ldconfig: /usr/local/cuda-12.4/targets/x86_64-linux/lib/libcudnn_ops_train.so.8 is not a symbolic link  
ldconfig: /usr/local/cuda-12.4/targets/x86_64-linux/lib/libcudnn_ops_infer.so.8 is not a symbolic link  
ldconfig: /usr/local/cuda-12.4/targets/x86_64-linux/lib/libcudnn_adv_infer.so.8 is not a symbolic link  
ldconfig: /usr/local/cuda-12.4/targets/x86_64-linux/lib/libcudnn_cnn_infer.so.8 is not a symbolic link  
ldconfig: /usr/local/cuda-12.4/targets/x86_64-linux/lib/libcudnn.so.8 is not a symbolic link  
ldconfig: /usr/local/cuda-12.4/targets/x86_64-linux/lib/libcudnn_adv_train.so.8 is not a symbolic link

運行下方的命令


# cd进入CUDA路径
cd /usr/local/cuda/targets/x86_64-linux/lib

 # 查看本路径下的需要软链接的文件名
 ls

如上圖,我需要將libcudnn_xxx_xxxxx.so.8.9.7libcudnn_xxx_xxxxx.so.8libcudnn_xxx_xxxxx.so軟鏈接


# 创建符号链接。对于每个 .so.8 文件,需要创建一个指向该文件的符号链接,通常链接的名称是不包含 .8 的文件名。
sudo ln -sf libcudnn_cnn_train.so.8.9.7 libcudnn_cnn_train.so.8
sudo ln -sf libcudnn_adv_infer.so.8.9.7 libcudnn_adv_infer.so.8
sudo ln -sf libcudnn_adv_train.so.8.9.7 libcudnn_adv_train.so.8
sudo ln -sf libcudnn_cnn_infer.so.8.9.7 libcudnn_cnn_infer.so.8
sudo ln -sf libcudnn.so.8.9.7 libcudnn.so.8
sudo ln -sf libcudnn_ops_infer.so.8.9.7 libcudnn_ops_infer.so.8
sudo ln -sf libcudnn_ops_train.so.8.9.7 libcudnn_ops_train.so.8

# 运行 ldconfig 以更新库缓存:(如果运行 ldconfig 后没有出现任何提示,说明配置已经完成。)
sudo ldconfig

# 使用 ls -l 来确认符号链接是否创建成功:(再次确认链接)
ls -l /usr/local/cuda/targets/x86_64-linux/lib/libcudnn_*.so*
音乐页