跳到正文

Wiki

安裝必備配置

約 28 分鐘閱讀

本文由簡體中文內容確定性轉換,並受版本化術語表保護。

1.  軟體包換源(以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,不想測速可以無腦選,也可以測速選擇最好的源。

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

輸入以下命令

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

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

選擇好Ubuntu版本後,

貼上進去

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

輸入以下命令

sudo apt update

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

至此換源結束

1.2.  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

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

1.3.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

2.解除安裝噁心的snap(Ubuntu的衍生版)

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

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

2.1.安裝非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

2.2.檢視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程式

2.3.移除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

2.4.移除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而做的一些額外的努力吧。(這一點最被很多人不喜歡)

2.5.禁止系統自動安裝snap

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

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

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

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

2.6.測試是否成功

sudo apt update
sudo apt install firefox

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

2.7.重新安裝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

2.8.跨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

3.切換系統語言到中文

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

4.中文輸入法

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

官網下載搜狗輸入法

開啟終端輸入如下

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

開啟Fcitx

新增搜狗輸入法

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

4.2.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

5.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字樣。

6.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

7.時間不同步

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

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

https://www.bilibili.com/video/BV1554y1n7zv/?vd_source=ceb9c29ca8792358f229b53eef0c1448

8.顯示卡驅動安裝

8.1.解除安裝顯示卡驅動(解除安裝乾淨)


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

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

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

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

  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 選項手動指定核心原始檔路徑。

8.3.安裝方式推薦

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

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

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

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

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

8.4.1.安裝顯示卡驅動

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

8.4.1.1.Ubuntu

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

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

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

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

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

# 重启
sudo shutdown -r now

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

(請使用方式一通用法)

8.4.3.安裝cuDNN

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

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

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

8.5.1.安裝顯示卡驅動

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

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

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

8.5.1.1.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)
8.5.2.安裝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

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

8.5.3.安裝cuDNN

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

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

8.6.通用方式(方式三:指令碼或壓縮包方式)

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

8.6.1.安裝顯示卡驅動

使用這種方式安裝,需要先停用掉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
8.6.2.安裝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

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

8.6.3.安裝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*