1. 服務器顯卡驅動準備
這部分我會詳細記錄一下我踩過的坑及怎樣拯救的,原諒啰嗦啦 ^_^
1.1 服務器舊配置
1.1.1 nvidia-smi
[xxxxxx@localhost ~]# nvidia-smi
Thu May 29 20:54:00 2025
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 530.30.02 Driver Version: 530.30.02 CUDA Version: 12.1 |
|-----------------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+======================+======================|
| 0 NVIDIA H100 PCIe Off| 00000000:41:00.0 Off | 0 |
| N/A 33C P0 47W / 350W| 182MiB / 81559MiB | 13% Default |
| | | Disabled |
+-----------------------------------------+----------------------+----------------------+
| 1 NVIDIA H100 PCIe Off| 00000000:61:00.0 Off | 0 |
| N/A 34C P0 47W / 350W| 0MiB / 81559MiB | 0% Default |
| | | Disabled |
+-----------------------------------------+----------------------+----------------------++---------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=======================================================================================|
| 0 N/A N/A 6436 G /usr/libexec/Xorg 63MiB |
| 0 N/A N/A 8528 G /usr/bin/gnome-shell 118MiB |
+---------------------------------------------------------------------------------------+
1.1.2 升級驅動之前更新一下yum庫(不同的系統有不同的更新方式,我系統是RHEL,此處就不多說了)
[xxx@localhost ~]# yum update
上次元數據過期檢查:3:15:44 前,執行于 2025年05月29日 星期四 17時56分08秒。
依賴關系解決。
無需任何處理。
完畢!
[xxx@localhost ~]# yum install gcc kernel-devel
上次元數據過期檢查:3:15:58 前,執行于 2025年05月29日 星期四 17時56分08秒。
軟件包 gcc-8.5.0-26.el8_10.x86_64 已安裝。
軟件包 kernel-devel-4.18.0-425.3.1.el8.x86_64 已安裝。
軟件包 kernel-devel-4.18.0-553.51.1.el8_10.x86_64 已安裝。
軟件包 kernel-devel-4.18.0-553.53.1.el8_10.x86_64 已安裝。
依賴關系解決。
無需任何處理。
完畢!
1.1.3 禁用Nouveau驅動(這個我沒有操作)
編輯或者創建文件/etc/modprobe.d/blacklist-nouveau.conf
,并添加以下兩行:
blacklist nouveau
options nouveau modeset=0
1.1.4 關閉圖形界面
H100服務器通常在無頭(無顯示器)模式下操作,但是如果服務器啟動了圖形介面服務,先關閉它:
sudo systemctl stop gdm # 或者其他圖形界面服務,如lightdm、sddm等
1.1.5 更新initramfs:
sudo dracut --force # 在RHEL/CentOS
1.1.6 卸載舊驅動
舊有驅動卸載不了,其實我不知道我什么時候把驅動版本降低了,本來是550-*的
[xxx@localhost ~]# ./NVIDIA-Linux-x86_64-530.30.02.run --uninstall
-bash: ./NVIDIA-Linux-x86_64-530.30.02.run: 沒有那個文件或目錄
正確卸載方式
[xxx@localhost ~]# ./NVIDIA-Linux-x86_64-550.144.03.run --uninstall
Verifying archive integrity... OK
Uncompressing NVIDIA Accelerated Graphics Driver for Linux-x86_64 550.144.03........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
[xxx@localhost ~]# nvidia-uninstall
bash: nvidia-uninstall: 未找到命令...
此處我犯了一個錯誤,我此前已經更改了我的root賬戶名稱!!!
[xxx@localhost ~]# sudo yum remove 'nvidia-*'
錯誤:運行此命令需要管理員特權(多數系統下是root用戶)。
[xxx@localhost ~]# sudo yum remove 'nvidia-*'
錯誤:運行此命令需要管理員特權(多數系統下是root用戶)。
[xxx@localhost ~]# su
此帳戶目前不可用。
[xxx@localhost ~]# yum remove 'nvidia-*'
依賴關系解決。
==============================================================================================================================================================================================================
軟件包 架構 版本 倉庫 大小
==============================================================================================================================================================================================================
移除:nvidia-driver x86_64 3:530.30.02-1.el8 @cuda-rhel8-12-1-local 80 Mnvidia-driver-NVML x86_64 3:530.30.02-1.el8 @cuda-rhel8-12-1-local 1.7 Mnvidia-driver-NvFBCOpenGL x86_64 3:530.30.02-1.el8 @cuda-rhel8-12-1-local 131 knvidia-driver-cuda x86_64 3:530.30.02-1.el8 @cuda-rhel8-12-1-local 1.4 Mnvidia-driver-cuda-libs x86_64 3:530.30.02-1.el8 @cuda-rhel8-12-1-local 227 Mnvidia-driver-devel x86_64 3:530.30.02-1.el8 @cuda-rhel8-12-1-local 0 nvidia-driver-libs x86_64 3:530.30.02-1.el8 @cuda-rhel8-12-1-local 421 Mnvidia-kmod-common noarch 3:530.30.02-1.el8 @cuda-rhel8-12-1-local 2.7 knvidia-libXNVCtrl x86_64 3:530.30.02-1.el8 @cuda-rhel8-12-1-local 50 knvidia-libXNVCtrl-devel x86_64 3:530.30.02-1.el8 @cuda-rhel8-12-1-local 253 knvidia-modprobe x86_64 3:530.30.02-1.el8 @cuda-rhel8-12-1-local 84 knvidia-persistenced x86_64 3:530.30.02-1.el8 @cuda-rhel8-12-1-local 85 knvidia-settings x86_64 3:530.30.02-1.el8 @cuda-rhel8-12-1-local 1.9 Mnvidia-xconfig x86_64 3:530.30.02-1.el8 @cuda-rhel8-12-1-local 300 k
移除依賴的軟件包:cuda x86_64 12.1.0-1 @cuda-rhel8-12-1-local 0
清除未被使用的依賴關系:cuda-12-1 x86_64 12.1.0-1 @cuda-rhel8-12-1-local 0 cuda-cccl-12-1 x86_64 12.1.55-1 @cuda-rhel8-12-1-local 12 Mcuda-command-line-tools-12-1 x86_64 12.1.0-1 @cuda-rhel8-12-1-local 0 cuda-compiler-12-1 x86_64 12.1.0-1 @cuda-rhel8-12-1-local 0 cuda-cudart-12-1 x86_64 12.1.55-1 @cuda-rhel8-12-1-local 723 kcuda-cudart-devel-12-1 x86_64 12.1.55-1 @cuda-rhel8-12-1-local 6.1 Mcuda-cuobjdump-12-1 x86_64 12.1.55-1 @cuda-rhel8-12-1-local 567 kcuda-cupti-12-1 x86_64 12.1.62-1 @cuda-rhel8-12-1-local 107 Mcuda-cuxxfilt-12-1 x86_64 12.1.55-1 @cuda-rhel8-12-1-local 1.0 Mcuda-demo-suite-12-1 x86_64 12.1.55-1 @cuda-rhel8-12-1-local 12 Mcuda-documentation-12-1 x86_64 12.1.55-1 @cuda-rhel8-12-1-local 520 kcuda-driver-devel-12-1 x86_64 12.1.55-1 @cuda-rhel8-12-1-local 121 kcuda-drivers x86_64 530.30.02-1 @cuda-rhel8-12-1-local 0 cuda-gdb-12-1 x86_64 12.1.55-1 @cuda-rhel8-12-1-local 16 Mcuda-libraries-12-1 x86_64 12.1.0-1 @cuda-rhel8-12-1-local 0 cuda-libraries-devel-12-1 x86_64 12.1.0-1 @cuda-rhel8-12-1-local 0 cuda-nsight-12-1 x86_64 12.1.55-1 @cuda-rhel8-12-1-local 113 Mcuda-nsight-compute-12-1 x86_64 12.1.0-1 @cuda-rhel8-12-1-local 7.3 kcuda-nsight-systems-12-1 x86_64 12.1.0-1 @cuda-rhel8-12-1-local 1.7 kcuda-nvcc-12-1 x86_64 12.1.66-1 @cuda-rhel8-12-1-local 164 Mcuda-nvdisasm-12-1 x86_64 12.1.55-1 @cuda-rhel8-12-1-local 48 Mcuda-nvml-devel-12-1 x86_64 12.1.55-1 @cuda-rhel8-12-1-local 619 kcuda-nvprof-12-1 x86_64 12.1.55-1 @cuda-rhel8-12-1-local 11 Mcuda-nvprune-12-1 x86_64 12.1.55-1 @cuda-rhel8-12-1-local 167 kcuda-nvrtc-12-1 x86_64 12.1.55-1 @cuda-rhel8-12-1-local 61 Mcuda-nvrtc-devel-12-1 x86_64 12.1.55-1 @cuda-rhel8-12-1-local 78 Mcuda-nvtx-12-1 x86_64 12.1.66-1 @cuda-rhel8-12-1-local 405 kcuda-nvvp-12-1 x86_64 12.1.55-1 @cuda-rhel8-12-1-local 128 Mcuda-opencl-12-1 x86_64 12.1.56-1 @cuda-rhel8-12-1-local 90 kcuda-opencl-devel-12-1 x86_64 12.1.56-1 @cuda-rhel8-12-1-local 570 kcuda-profiler-api-12-1 x86_64 12.1.55-1 @cuda-rhel8-12-1-local 71 kcuda-runtime-12-1 x86_64 12.1.0-1 @cuda-rhel8-12-1-local 0 cuda-sanitizer-12-1 x86_64 12.1.55-1 @cuda-rhel8-12-1-local 36 Mcuda-toolkit-12-1 x86_64 12.1.0-1 @cuda-rhel8-12-1-local 3.0 kcuda-toolkit-12-1-config-common noarch 12.1.55-1 @cuda-rhel8-12-1-local 0 cuda-toolkit-12-config-common noarch 12.1.55-1 @cuda-rhel8-12-1-local 44 cuda-toolkit-config-common noarch 12.1.55-1 @cuda-rhel8-12-1-local 41 cuda-tools-12-1 x86_64 12.1.0-1 @cuda-rhel8-12-1-local 0 cuda-visual-tools-12-1 x86_64 12.1.0-1 @cuda-rhel8-12-1-local 0 dnf-plugin-nvidia noarch 2.0-1.el8 @cuda-rhel8-12-1-local 13 kegl-wayland x86_64 1.1.9-3.el8 @appstream 68 kgds-tools-12-1 x86_64 1.6.0.25-1 @cuda-rhel8-12-1-local 61 Mjava-1.8.0-openjdk x86_64 1:1.8.0.452.b09-2.el8 @appstream 1.3 Mkmod-nvidia-latest-dkms x86_64 3:530.30.02-1.el8 @cuda-rhel8-12-1-local 68 MlibX11-devel x86_64 1.6.8-9.el8_10 @appstream 1.0 MlibXau-devel x86_64 1.0.9-3.el8 @appstream 6.4 klibcublas-12-1 x86_64 12.1.0.26-1 @cuda-rhel8-12-1-local 587 Mlibcublas-devel-12-1 x86_64 12.1.0.26-1 @cuda-rhel8-12-1-local 980 Mlibcufft-12-1 x86_64 11.0.2.4-1 @cuda-rhel8-12-1-local 185 Mlibcufft-devel-12-1 x86_64 11.0.2.4-1 @cuda-rhel8-12-1-local 383 Mlibcufile-12-1 x86_64 1.6.0.25-1 @cuda-rhel8-12-1-local 2.2 Mlibcufile-devel-12-1 x86_64 1.6.0.25-1 @cuda-rhel8-12-1-local 17 Mlibcurand-12-1 x86_64 10.3.2.56-1 @cuda-rhel8-12-1-local 92 Mlibcurand-devel-12-1 x86_64 10.3.2.56-1 @cuda-rhel8-12-1-local 94 Mlibcusolver-12-1 x86_64 11.4.4.55-1 @cuda-rhel8-12-1-local 476 Mlibcusolver-devel-12-1 x86_64 11.4.4.55-1 @cuda-rhel8-12-1-local 325 Mlibcusparse-12-1 x86_64 12.0.2.55-1 @cuda-rhel8-12-1-local 243 Mlibcusparse-devel-12-1 x86_64 12.0.2.55-1 @cuda-rhel8-12-1-local 526 Mlibglvnd-opengl x86_64 1:1.3.4-2.el8 @appstream 174 klibnpp-12-1 x86_64 12.0.2.50-1 @cuda-rhel8-12-1-local 233 Mlibnpp-devel-12-1 x86_64 12.0.2.50-1 @cuda-rhel8-12-1-local 242 Mlibnvjitlink-12-1 x86_64 12.1.55-1 @cuda-rhel8-12-1-local 46 Mlibnvjitlink-devel-12-1 x86_64 12.1.55-1 @cuda-rhel8-12-1-local 60 Mlibnvjpeg-12-1 x86_64 12.1.0.39-1 @cuda-rhel8-12-1-local 5.7 Mlibnvjpeg-devel-12-1 x86_64 12.1.0.39-1 @cuda-rhel8-12-1-local 5.9 Mlibnvvm-samples-12-1 x86_64 12.1.55-1 @cuda-rhel8-12-1-local 121 klibvdpau x86_64 1.4-2.el8 @appstream 75 klibxcb-devel x86_64 1.13.1-1.el8 @appstream 2.6 Mmesa-vulkan-drivers x86_64 23.1.4-4.el8_10 @appstream 45 Mnsight-compute-2023.1.0 x86_64 2023.1.0.15-1 @cuda-rhel8-12-1-local 1.4 Gnsight-systems-2023.1.2 x86_64 2023.1.2.43_32377213v0-0 @cuda-rhel8-12-1-local 709 Mocl-icd x86_64 2.2.12-1.el8 @appstream 145 kopencl-filesystem noarch 1.0-6.el8 @appstream 0 ttmkfdir x86_64 3.0.9-54.el8 @appstream 124 kvulkan-loader x86_64 1.3.283.0-1.el8_10 @appstream 512 kxorg-x11-fonts-Type1 noarch 7.5-19.el8 @appstream 863 kxorg-x11-proto-devel noarch 2020.1-3.el8 @appstream 1.7 M事務概要
==============================================================================================================================================================================================================
移除 92 軟件包
將會釋放空間:8.1 G
確定嗎?[y/N]: y
運行事務檢查
事務檢查成功。
運行事務測試
事務測試成功。
運行事務準備中 : 1/1 運行腳本: cuda-12.1.0-1.x86_64 1/1 刪除 : cuda-12.1.0-1.x86_64 1/92 刪除 : cuda-12-1-12.1.0-1.x86_64 2/92 刪除 : cuda-toolkit-12-1-12.1.0-1.x86_64 3/92 刪除 : cuda-compiler-12-1-12.1.0-1.x86_64 4/92 刪除 : cuda-tools-12-1-12.1.0-1.x86_64 5/92 刪除 : cuda-command-line-tools-12-1-12.1.0-1.x86_64 6/92 刪除 : cuda-visual-tools-12-1-12.1.0-1.x86_64 7/92 刪除 : cuda-libraries-devel-12-1-12.1.0-1.x86_64 8/92 刪除 : cuda-nvvp-12-1-12.1.55-1.x86_64 9/92 運行腳本: cuda-nvvp-12-1-12.1.55-1.x86_64 9/92 刪除 : cuda-cudart-devel-12-1-12.1.55-1.x86_64 10/92 刪除 : cuda-runtime-12-1-12.1.0-1.x86_64 11/92 刪除 : cuda-drivers-530.30.02-1.x86_64 12/92 刪除 : cuda-libraries-12-1-12.1.0-1.x86_64 13/92 刪除 : nvidia-driver-devel-3:530.30.02-1.el8.x86_64 14/92 刪除 : nvidia-libXNVCtrl-devel-3:530.30.02-1.el8.x86_64 15/92 刪除 : libX11-devel-1.6.8-9.el8_10.x86_64 16/92 刪除 : libxcb-devel-1.13.1-1.el8.x86_64 17/92 刪除 : libXau-devel-1.0.9-3.el8.x86_64 18/92 刪除 : cuda-opencl-devel-12-1-12.1.56-1.x86_64 19/92 刪除 : libnvjitlink-devel-12-1-12.1.55-1.x86_64 20/92 刪除 : cuda-nsight-compute-12-1-12.1.0-1.x86_64 21/92 刪除 : cuda-nsight-systems-12-1-12.1.0-1.x86_64 22/92 運行腳本: nsight-systems-2023.1.2-2023.1.2.43_32377213v0-0.x86_64 23/92 刪除 : nsight-systems-2023.1.2-2023.1.2.43_32377213v0-0.x86_64 23/92 刪除 : cuda-nsight-12-1-12.1.55-1.x86_64 24/92 刪除 : nsight-compute-2023.1.0-2023.1.0.15-1.x86_64 25/92 運行腳本: nsight-compute-2023.1.0-2023.1.0.15-1.x86_64 25/92 刪除 : xorg-x11-proto-devel-2020.1-3.el8.noarch 26/92 刪除 : cuda-cccl-12-1-12.1.55-1.x86_64 27/92 刪除 : cuda-nvdisasm-12-1-12.1.55-1.x86_64 28/92 刪除 : cuda-profiler-api-12-1-12.1.55-1.x86_64 29/92 刪除 : cuda-nvml-devel-12-1-12.1.55-1.x86_64 30/92 刪除 : cuda-gdb-12-1-12.1.55-1.x86_64 31/92 刪除 : cuda-sanitizer-12-1-12.1.55-1.x86_64 32/92 運行腳本: gds-tools-12-1-1.6.0.25-1.x86_64 33/92 刪除 : gds-tools-12-1-1.6.0.25-1.x86_64 33/92 刪除 : cuda-cuobjdump-12-1-12.1.55-1.x86_64 34/92 刪除 : cuda-cuxxfilt-12-1-12.1.55-1.x86_64 35/92 刪除 : cuda-nvprune-12-1-12.1.55-1.x86_64 36/92 刪除 : cuda-documentation-12-1-12.1.55-1.x86_64 37/92 刪除 : libnvvm-samples-12-1-12.1.55-1.x86_64 38/92 刪除 : cuda-demo-suite-12-1-12.1.55-1.x86_64 39/92 刪除 : nvidia-driver-cuda-3:530.30.02-1.el8.x86_64 40/92 刪除 : nvidia-settings-3:530.30.02-1.el8.x86_64 41/92 刪除 : libnvjitlink-12-1-12.1.55-1.x86_64 42/92 運行腳本: libnvjitlink-12-1-12.1.55-1.x86_64 42/92 刪除 : cuda-opencl-12-1-12.1.56-1.x86_64 43/92 運行腳本: cuda-opencl-12-1-12.1.56-1.x86_64 43/92 刪除 : cuda-cudart-12-1-12.1.55-1.x86_64 44/92 運行腳本: cuda-cudart-12-1-12.1.55-1.x86_64 44/92 刪除 : java-1.8.0-openjdk-1:1.8.0.452.b09-2.el8.x86_64 45/92 運行腳本: java-1.8.0-openjdk-1:1.8.0.452.b09-2.el8.x86_64 45/92 刪除 : xorg-x11-fonts-Type1-7.5-19.el8.noarch 46/92 運行腳本: xorg-x11-fonts-Type1-7.5-19.el8.noarch 46/92 刪除 : nvidia-driver-NvFBCOpenGL-3:530.30.02-1.el8.x86_64 47/92 運行腳本: nvidia-driver-NvFBCOpenGL-3:530.30.02-1.el8.x86_64 47/92 刪除 : nvidia-driver-cuda-libs-3:530.30.02-1.el8.x86_64 48/92 運行腳本: nvidia-driver-cuda-libs-3:530.30.02-1.el8.x86_64 48/92 刪除 : nvidia-modprobe-3:530.30.02-1.el8.x86_64 49/92 刪除 : nvidia-xconfig-3:530.30.02-1.el8.x86_64 50/92 運行腳本: nvidia-driver-3:530.30.02-1.el8.x86_64 51/92 刪除 : nvidia-driver-3:530.30.02-1.el8.x86_64 51/92 運行腳本: nvidia-driver-3:530.30.02-1.el8.x86_64 51/92 運行腳本: kmod-nvidia-latest-dkms-3:530.30.02-1.el8.x86_64 52/92 刪除 : kmod-nvidia-latest-dkms-3:530.30.02-1.el8.x86_64 52/92 運行腳本: nvidia-kmod-common-3:530.30.02-1.el8.noarch 53/92 刪除 : nvidia-kmod-common-3:530.30.02-1.el8.noarch 53/92 運行腳本: nvidia-kmod-common-3:530.30.02-1.el8.noarch 53/92 刪除 : nvidia-driver-libs-3:530.30.02-1.el8.x86_64 54/92 運行腳本: nvidia-driver-libs-3:530.30.02-1.el8.x86_64 54/92 刪除 : mesa-vulkan-drivers-23.1.4-4.el8_10.x86_64 55/92 刪除 : vulkan-loader-1.3.283.0-1.el8_10.x86_64 56/92 刪除 : cuda-nvrtc-devel-12-1-12.1.55-1.x86_64 57/92 刪除 : libcublas-devel-12-1-12.1.0.26-1.x86_64 58/92 刪除 : libcublas-12-1-12.1.0.26-1.x86_64 59/92 運行腳本: libcublas-12-1-12.1.0.26-1.x86_64 59/92 刪除 : libcufft-devel-12-1-11.0.2.4-1.x86_64 60/92 刪除 : libcufft-12-1-11.0.2.4-1.x86_64 61/92 運行腳本: libcufft-12-1-11.0.2.4-1.x86_64 61/92 刪除 : libcufile-devel-12-1-1.6.0.25-1.x86_64 62/92 運行腳本: libcufile-12-1-1.6.0.25-1.x86_64 63/92 刪除 : libcufile-12-1-1.6.0.25-1.x86_64 63/92 運行腳本: libcufile-12-1-1.6.0.25-1.x86_64 63/92 刪除 : libcurand-devel-12-1-10.3.2.56-1.x86_64 64/92 刪除 : libcurand-12-1-10.3.2.56-1.x86_64 65/92 運行腳本: libcurand-12-1-10.3.2.56-1.x86_64 65/92 刪除 : libcusolver-devel-12-1-11.4.4.55-1.x86_64 66/92 刪除 : libcusolver-12-1-11.4.4.55-1.x86_64 67/92 運行腳本: libcusolver-12-1-11.4.4.55-1.x86_64 67/92 刪除 : libcusparse-devel-12-1-12.0.2.55-1.x86_64 68/92 刪除 : libcusparse-12-1-12.0.2.55-1.x86_64 69/92 運行腳本: libcusparse-12-1-12.0.2.55-1.x86_64 69/92 刪除 : libnpp-devel-12-1-12.0.2.50-1.x86_64 70/92 刪除 : libnpp-12-1-12.0.2.50-1.x86_64 71/92 運行腳本: libnpp-12-1-12.0.2.50-1.x86_64 71/92 刪除 : libnvjpeg-devel-12-1-12.1.0.39-1.x86_64 72/92 刪除 : dnf-plugin-nvidia-2.0-1.el8.noarch 73/92 刪除 : opencl-filesystem-1.0-6.el8.noarch 74/92 刪除 : libnvjpeg-12-1-12.1.0.39-1.x86_64 75/92 運行腳本: libnvjpeg-12-1-12.1.0.39-1.x86_64 75/92 刪除 : cuda-toolkit-12-1-config-common-12.1.55-1.noarch 76/92 運行腳本: cuda-toolkit-12-1-config-common-12.1.55-1.noarch 76/92 刪除 : cuda-toolkit-12-config-common-12.1.55-1.noarch 77/92 刪除 : cuda-toolkit-config-common-12.1.55-1.noarch 78/92 刪除 : cuda-nvrtc-12-1-12.1.55-1.x86_64 79/92 運行腳本: cuda-nvrtc-12-1-12.1.55-1.x86_64 79/92 刪除 : egl-wayland-1.1.9-3.el8.x86_64 80/92 刪除 : libglvnd-opengl-1:1.3.4-2.el8.x86_64 81/92 刪除 : libvdpau-1.4-2.el8.x86_64 82/92 刪除 : ttmkfdir-3.0.9-54.el8.x86_64 83/92 刪除 : nvidia-libXNVCtrl-3:530.30.02-1.el8.x86_64 84/92 刪除 : nvidia-driver-NVML-3:530.30.02-1.el8.x86_64 85/92 運行腳本: nvidia-driver-NVML-3:530.30.02-1.el8.x86_64 85/92 運行腳本: nvidia-persistenced-3:530.30.02-1.el8.x86_64 86/92 刪除 : nvidia-persistenced-3:530.30.02-1.el8.x86_64 86/92 運行腳本: nvidia-persistenced-3:530.30.02-1.el8.x86_64 86/92 刪除 : ocl-icd-2.2.12-1.el8.x86_64 87/92 運行腳本: ocl-icd-2.2.12-1.el8.x86_64 87/92 刪除 : cuda-nvprof-12-1-12.1.55-1.x86_64 88/92 刪除 : cuda-driver-devel-12-1-12.1.55-1.x86_64 89/92 刪除 : cuda-cupti-12-1-12.1.62-1.x86_64 90/92 刪除 : cuda-nvtx-12-1-12.1.66-1.x86_64 91/92 刪除 : cuda-nvcc-12-1-12.1.66-1.x86_64 92/92 運行腳本: cuda-nvcc-12-1-12.1.66-1.x86_64 92/92 驗證 : cuda-12.1.0-1.x86_64 1/92 驗證 : cuda-12-1-12.1.0-1.x86_64 2/92 驗證 : cuda-cccl-12-1-12.1.55-1.x86_64 3/92 驗證 : cuda-command-line-tools-12-1-12.1.0-1.x86_64 4/92 驗證 : cuda-compiler-12-1-12.1.0-1.x86_64 5/92 驗證 : cuda-cudart-12-1-12.1.55-1.x86_64 6/92 驗證 : cuda-cudart-devel-12-1-12.1.55-1.x86_64 7/92 驗證 : cuda-cuobjdump-12-1-12.1.55-1.x86_64 8/92 驗證 : cuda-cupti-12-1-12.1.62-1.x86_64 9/92 驗證 : cuda-cuxxfilt-12-1-12.1.55-1.x86_64 10/92 驗證 : cuda-demo-suite-12-1-12.1.55-1.x86_64 11/92 驗證 : cuda-documentation-12-1-12.1.55-1.x86_64 12/92 驗證 : cuda-driver-devel-12-1-12.1.55-1.x86_64 13/92 驗證 : cuda-drivers-530.30.02-1.x86_64 14/92 驗證 : cuda-gdb-12-1-12.1.55-1.x86_64 15/92 驗證 : cuda-libraries-12-1-12.1.0-1.x86_64 16/92 驗證 : cuda-libraries-devel-12-1-12.1.0-1.x86_64 17/92 驗證 : cuda-nsight-12-1-12.1.55-1.x86_64 18/92 驗證 : cuda-nsight-compute-12-1-12.1.0-1.x86_64 19/92 驗證 : cuda-nsight-systems-12-1-12.1.0-1.x86_64 20/92 驗證 : cuda-nvcc-12-1-12.1.66-1.x86_64 21/92 驗證 : cuda-nvdisasm-12-1-12.1.55-1.x86_64 22/92 驗證 : cuda-nvml-devel-12-1-12.1.55-1.x86_64 23/92 驗證 : cuda-nvprof-12-1-12.1.55-1.x86_64 24/92 驗證 : cuda-nvprune-12-1-12.1.55-1.x86_64 25/92 驗證 : cuda-nvrtc-12-1-12.1.55-1.x86_64 26/92 驗證 : cuda-nvrtc-devel-12-1-12.1.55-1.x86_64 27/92 驗證 : cuda-nvtx-12-1-12.1.66-1.x86_64 28/92 驗證 : cuda-nvvp-12-1-12.1.55-1.x86_64 29/92 驗證 : cuda-opencl-12-1-12.1.56-1.x86_64 30/92 驗證 : cuda-opencl-devel-12-1-12.1.56-1.x86_64 31/92 驗證 : cuda-profiler-api-12-1-12.1.55-1.x86_64 32/92 驗證 : cuda-runtime-12-1-12.1.0-1.x86_64 33/92 驗證 : cuda-sanitizer-12-1-12.1.55-1.x86_64 34/92 驗證 : cuda-toolkit-12-1-12.1.0-1.x86_64 35/92 驗證 : cuda-toolkit-12-1-config-common-12.1.55-1.noarch 36/92 驗證 : cuda-toolkit-12-config-common-12.1.55-1.noarch 37/92 驗證 : cuda-toolkit-config-common-12.1.55-1.noarch 38/92 驗證 : cuda-tools-12-1-12.1.0-1.x86_64 39/92 驗證 : cuda-visual-tools-12-1-12.1.0-1.x86_64 40/92 驗證 : dnf-plugin-nvidia-2.0-1.el8.noarch 41/92 驗證 : egl-wayland-1.1.9-3.el8.x86_64 42/92 驗證 : gds-tools-12-1-1.6.0.25-1.x86_64 43/92 驗證 : java-1.8.0-openjdk-1:1.8.0.452.b09-2.el8.x86_64 44/92 驗證 : kmod-nvidia-latest-dkms-3:530.30.02-1.el8.x86_64 45/92 驗證 : libX11-devel-1.6.8-9.el8_10.x86_64 46/92 驗證 : libXau-devel-1.0.9-3.el8.x86_64 47/92 驗證 : libcublas-12-1-12.1.0.26-1.x86_64 48/92 驗證 : libcublas-devel-12-1-12.1.0.26-1.x86_64 49/92 驗證 : libcufft-12-1-11.0.2.4-1.x86_64 50/92 驗證 : libcufft-devel-12-1-11.0.2.4-1.x86_64 51/92 驗證 : libcufile-12-1-1.6.0.25-1.x86_64 52/92 驗證 : libcufile-devel-12-1-1.6.0.25-1.x86_64 53/92 驗證 : libcurand-12-1-10.3.2.56-1.x86_64 54/92 驗證 : libcurand-devel-12-1-10.3.2.56-1.x86_64 55/92 驗證 : libcusolver-12-1-11.4.4.55-1.x86_64 56/92 驗證 : libcusolver-devel-12-1-11.4.4.55-1.x86_64 57/92 驗證 : libcusparse-12-1-12.0.2.55-1.x86_64 58/92 驗證 : libcusparse-devel-12-1-12.0.2.55-1.x86_64 59/92 驗證 : libglvnd-opengl-1:1.3.4-2.el8.x86_64 60/92 驗證 : libnpp-12-1-12.0.2.50-1.x86_64 61/92 驗證 : libnpp-devel-12-1-12.0.2.50-1.x86_64 62/92 驗證 : libnvjitlink-12-1-12.1.55-1.x86_64 63/92 驗證 : libnvjitlink-devel-12-1-12.1.55-1.x86_64 64/92 驗證 : libnvjpeg-12-1-12.1.0.39-1.x86_64 65/92 驗證 : libnvjpeg-devel-12-1-12.1.0.39-1.x86_64 66/92 驗證 : libnvvm-samples-12-1-12.1.55-1.x86_64 67/92 驗證 : libvdpau-1.4-2.el8.x86_64 68/92 驗證 : libxcb-devel-1.13.1-1.el8.x86_64 69/92 驗證 : mesa-vulkan-drivers-23.1.4-4.el8_10.x86_64 70/92 驗證 : nsight-compute-2023.1.0-2023.1.0.15-1.x86_64 71/92 驗證 : nsight-systems-2023.1.2-2023.1.2.43_32377213v0-0.x86_64 72/92 驗證 : nvidia-driver-3:530.30.02-1.el8.x86_64 73/92 驗證 : nvidia-driver-NVML-3:530.30.02-1.el8.x86_64 74/92 驗證 : nvidia-driver-NvFBCOpenGL-3:530.30.02-1.el8.x86_64 75/92 驗證 : nvidia-driver-cuda-3:530.30.02-1.el8.x86_64 76/92 驗證 : nvidia-driver-cuda-libs-3:530.30.02-1.el8.x86_64 77/92 驗證 : nvidia-driver-devel-3:530.30.02-1.el8.x86_64 78/92 驗證 : nvidia-driver-libs-3:530.30.02-1.el8.x86_64 79/92 驗證 : nvidia-kmod-common-3:530.30.02-1.el8.noarch 80/92 驗證 : nvidia-libXNVCtrl-3:530.30.02-1.el8.x86_64 81/92 驗證 : nvidia-libXNVCtrl-devel-3:530.30.02-1.el8.x86_64 82/92 驗證 : nvidia-modprobe-3:530.30.02-1.el8.x86_64 83/92 驗證 : nvidia-persistenced-3:530.30.02-1.el8.x86_64 84/92 驗證 : nvidia-settings-3:530.30.02-1.el8.x86_64 85/92 驗證 : nvidia-xconfig-3:530.30.02-1.el8.x86_64 86/92 驗證 : ocl-icd-2.2.12-1.el8.x86_64 87/92 驗證 : opencl-filesystem-1.0-6.el8.noarch 88/92 驗證 : ttmkfdir-3.0.9-54.el8.x86_64 89/92 驗證 : vulkan-loader-1.3.283.0-1.el8_10.x86_64 90/92 驗證 : xorg-x11-fonts-Type1-7.5-19.el8.noarch 91/92 驗證 : xorg-x11-proto-devel-2020.1-3.el8.noarch 92/92 已移除:cuda-12.1.0-1.x86_64 cuda-12-1-12.1.0-1.x86_64 cuda-cccl-12-1-12.1.55-1.x86_64 cuda-command-line-tools-12-1-12.1.0-1.x86_64 cuda-compiler-12-1-12.1.0-1.x86_64 cuda-cudart-12-1-12.1.55-1.x86_64 cuda-cudart-devel-12-1-12.1.55-1.x86_64 cuda-cuobjdump-12-1-12.1.55-1.x86_64 cuda-cupti-12-1-12.1.62-1.x86_64 cuda-cuxxfilt-12-1-12.1.55-1.x86_64 cuda-demo-suite-12-1-12.1.55-1.x86_64 cuda-documentation-12-1-12.1.55-1.x86_64 cuda-driver-devel-12-1-12.1.55-1.x86_64 cuda-drivers-530.30.02-1.x86_64 cuda-gdb-12-1-12.1.55-1.x86_64 cuda-libraries-12-1-12.1.0-1.x86_64 cuda-libraries-devel-12-1-12.1.0-1.x86_64 cuda-nsight-12-1-12.1.55-1.x86_64 cuda-nsight-compute-12-1-12.1.0-1.x86_64 cuda-nsight-systems-12-1-12.1.0-1.x86_64 cuda-nvcc-12-1-12.1.66-1.x86_64 cuda-nvdisasm-12-1-12.1.55-1.x86_64 cuda-nvml-devel-12-1-12.1.55-1.x86_64 cuda-nvprof-12-1-12.1.55-1.x86_64 cuda-nvprune-12-1-12.1.55-1.x86_64 cuda-nvrtc-12-1-12.1.55-1.x86_64 cuda-nvrtc-devel-12-1-12.1.55-1.x86_64 cuda-nvtx-12-1-12.1.66-1.x86_64 cuda-nvvp-12-1-12.1.55-1.x86_64 cuda-opencl-12-1-12.1.56-1.x86_64 cuda-opencl-devel-12-1-12.1.56-1.x86_64 cuda-profiler-api-12-1-12.1.55-1.x86_64 cuda-runtime-12-1-12.1.0-1.x86_64 cuda-sanitizer-12-1-12.1.55-1.x86_64 cuda-toolkit-12-1-12.1.0-1.x86_64 cuda-toolkit-12-1-config-common-12.1.55-1.noarch cuda-toolkit-12-config-common-12.1.55-1.noarch cuda-toolkit-config-common-12.1.55-1.noarch cuda-tools-12-1-12.1.0-1.x86_64 cuda-visual-tools-12-1-12.1.0-1.x86_64 dnf-plugin-nvidia-2.0-1.el8.noarch egl-wayland-1.1.9-3.el8.x86_64 gds-tools-12-1-1.6.0.25-1.x86_64 java-1.8.0-openjdk-1:1.8.0.452.b09-2.el8.x86_64 kmod-nvidia-latest-dkms-3:530.30.02-1.el8.x86_64 libX11-devel-1.6.8-9.el8_10.x86_64 libXau-devel-1.0.9-3.el8.x86_64 libcublas-12-1-12.1.0.26-1.x86_64 libcublas-devel-12-1-12.1.0.26-1.x86_64 libcufft-12-1-11.0.2.4-1.x86_64 libcufft-devel-12-1-11.0.2.4-1.x86_64 libcufile-12-1-1.6.0.25-1.x86_64 libcufile-devel-12-1-1.6.0.25-1.x86_64 libcurand-12-1-10.3.2.56-1.x86_64 libcurand-devel-12-1-10.3.2.56-1.x86_64 libcusolver-12-1-11.4.4.55-1.x86_64 libcusolver-devel-12-1-11.4.4.55-1.x86_64 libcusparse-12-1-12.0.2.55-1.x86_64 libcusparse-devel-12-1-12.0.2.55-1.x86_64 libglvnd-opengl-1:1.3.4-2.el8.x86_64 libnpp-12-1-12.0.2.50-1.x86_64 libnpp-devel-12-1-12.0.2.50-1.x86_64 libnvjitlink-12-1-12.1.55-1.x86_64 libnvjitlink-devel-12-1-12.1.55-1.x86_64 libnvjpeg-12-1-12.1.0.39-1.x86_64 libnvjpeg-devel-12-1-12.1.0.39-1.x86_64 libnvvm-samples-12-1-12.1.55-1.x86_64 libvdpau-1.4-2.el8.x86_64 libxcb-devel-1.13.1-1.el8.x86_64 mesa-vulkan-drivers-23.1.4-4.el8_10.x86_64 nsight-compute-2023.1.0-2023.1.0.15-1.x86_64 nsight-systems-2023.1.2-2023.1.2.43_32377213v0-0.x86_64 nvidia-driver-3:530.30.02-1.el8.x86_64 nvidia-driver-NVML-3:530.30.02-1.el8.x86_64 nvidia-driver-NvFBCOpenGL-3:530.30.02-1.el8.x86_64 nvidia-driver-cuda-3:530.30.02-1.el8.x86_64 nvidia-driver-cuda-libs-3:530.30.02-1.el8.x86_64 nvidia-driver-devel-3:530.30.02-1.el8.x86_64 nvidia-driver-libs-3:530.30.02-1.el8.x86_64 nvidia-kmod-common-3:530.30.02-1.el8.noarch nvidia-libXNVCtrl-3:530.30.02-1.el8.x86_64 nvidia-libXNVCtrl-devel-3:530.30.02-1.el8.x86_64 nvidia-modprobe-3:530.30.02-1.el8.x86_64 nvidia-persistenced-3:530.30.02-1.el8.x86_64 nvidia-settings-3:530.30.02-1.el8.x86_64 nvidia-xconfig-3:530.30.02-1.el8.x86_64 ocl-icd-2.2.12-1.el8.x86_64 opencl-filesystem-1.0-6.el8.noarch ttmkfdir-3.0.9-54.el8.x86_64 vulkan-loader-1.3.283.0-1.el8_10.x86_64 xorg-x11-fonts-Type1-7.5-19.el8.noarch xorg-x11-proto-devel-2020.1-3.el8.noarch 完畢!
1.1.8 檢查刪除干凈沒有
[xxx@localhost ~]# nnidia-smi
bash: nnidia-smi: 未找到命令...
[XAlab_F16_1@localhost ~]# nvidia-smi
-bash: /usr/bin/nvidia-smi: 沒有那個文件或目錄
1.1.9 檢查和清理模塊
使用rmmod卸載這些模塊(在停止圖形服務后操作)。
[xxx@localhost ~]# systemctl stop gdm
[xxx@localhost ~]# lsmod | grep nvidia
nvidia_uvm 1429504 0
nvidia_drm 73728 6
nvidia_modeset 1269760 3 nvidia_drm
nvidia 55697408 315 nvidia_uvm,nvidia_modeset
drm_kms_helper 176128 4 drm_vram_helper,ast,nvidia_drm
drm 565248 15 drm_kms_helper,drm_vram_helper,ast,nvidia,drm_ttm_helper,nvidia_drm,ttm
在嘗試卸載NVIDIA內核模塊時,你收到"模塊正在使用"的錯誤,這表明某些進程或服務當前依賴于這些模塊。為了安全卸載這些模塊,通常需要先停止正在使用這些模塊的進程或服務。
[xxx@localhost ~]# rmmod nvidia_drm nvidia_modeset nvidia_uvm nvidia
rmmod: ERROR: Module nvidia_drm is in use
rmmod: ERROR: Module nvidia_modeset is in use by: nvidia_drm
rmmod: ERROR: Module nvidia is in use by: nvidia_modeset
再次嘗試卸載NVIDIA模塊: 在停止相關服務和進程后,嘗試再次卸載模塊。如果仍然遇到問題,確保所有與NVIDIA相關的進程都已終止。lsmod | grep nvidia
如果無輸出,說明所有模塊已成功卸載。
[xxx@localhost ~]# rmmod nvidia_drm nvidia_modeset nvidia_uvm nvidia
rmmod: ERROR: Module nvidia_uvm is not currently loaded
[xxx@localhost ~]# rmmod nvidia_drm
rmmod: ERROR: Module nvidia_drm is not currently loaded
[xxx@localhost ~]# rmmod nvidia_modeset
rmmod: ERROR: Module nvidia_modeset is not currently loaded
[xxx@localhost ~]# rmmod nvidia
rmmod: ERROR: Module nvidia is not currently loaded
[xxx@localhost ~]# lsmod | grep nvidia
查找并終止使用NVIDIA模塊的進程: 首先找到哪些進程正在使用這些模塊,并終止它們。這將列出所有正在使用 /dev/nvidia* 設備節點的進程。你可以使用 kill 命令終止這些進程。kill <process_id>
(其實終止圖形服務下面的gdm任務也就停了,如果你還有其他相關任務請留意)
[xxx@localhost ~]# fuser -v /dev/nvidia*用戶 進程號 權限 命令
/dev/nvidia0: xxx 6436 F...m Xorggdm 8528 F...m gnome-shell
/dev/nvidia1: xxx 6436 F...m Xorggdm 8528 F...m gnome-shell
/dev/nvidiactl: xxx 6436 F...m Xorggdm 8528 F...m gnome-shell
/dev/nvidia-modeset: xxx 6436 F.... Xorggdm 8528 F.... gnome-shell
如果某些模塊仍然不能卸載,可能需要:
(1) 進一步終止可能依賴模塊的進程:
使用fuser和ps命令找出并終止可能使用這些模塊的任何殘留進程。
(2) 強制重啟圖形環境或關機重啟:
確保所有依賴模塊的服務已關閉然后重啟系統。
如果你在文本模式下重啟圖形界面或系統,有可能徹底卸載這些模塊。
卸載與NVIDIA相關的軟件包
在RHEL/CentOS,列出所有NVIDIA相關軟件包,如果列表中沒有相關的NVIDIA軟件包或數量極少,則可能已卸載掉。
[xxx@localhost ~]# rpm -qa | grep nvidia
pcp-pmda-nvidia-gpu-5.3.7-22.el8_10.x86_64
[xxx@localhost ~]# rpm -e pcp-pmda-nvidia-gpu
檢查庫文件:查看存放共享庫的目錄,由于/usr/lib/nvidia-*路徑通常包含了NVIDIA的庫文件,你可以檢查該目錄是否已經被清空或被刪除。
[xxx@localhost ~]# ls /usr/lib/nvidia-*
ls: 無法訪問'/usr/lib/nvidia-*': 沒有那個文件或目錄
檢查X11配置:查閱/etc/X11/xorg.conf文件,確保已移除指定使用NVIDIA驅動的配置。
[xxx@localhost ~]# vi /etc/X11/xorg.conf
更新系統的initramfs,確保在移除內核模塊和清理軟件包后,更新initramfs以便下次啟動時不會加載這些模塊:
[xxx@localhost ~]# dracut --force
dracut 是一個用于生成 Linux initramfs(initial RAM filesystem)的命令行工具。在 Linux 系統啟動過程中,initramfs 起到非常重要的作用,它是在硬盤上的操作系統未加載之前用于載入內核模塊和啟動環境的重要組成部分。
dracut --force 的作用:dracut --force 命令用于強制重新生成 initramfs。具體作用如下:
(1) 重新構建 initramfs:
dracut 會使用當前系統環境和配置來重建 initramfs 文件。這包含所有基本的內核模塊、驅動程序和文件系統支持。強制重建確保了即使在之前的生成中有錯誤或遺漏,也能取得一個干凈更新的initramfs。
(2) 應用最新的系統變更:
當系統內核、驅動程序或硬件配置發生變化時,通常需要重新生成 initramfs 以確保這些變更在下次啟動時被正確應用。例如,安裝或卸載內核模塊、硬件配置的改變(如磁盤的設備名稱改變)等情況就需要更新 initramfs。
(3) 修復可能的啟動問題:
在某些情況下,如果系統無法正常啟動,重建一個新的 initramfs 可以解決由于損壞或不兼容的 initramfs 文件而導致的啟動問題。
(4) 移除或添加特定模塊:
當模塊發生改變,或者在處理與顯卡驅動相關的問題時(如切換禁用 Nouveau 或重新安裝 NVIDIA 驅動),更新 initramfs 能確保正確的模塊被加載。
總結:使用 dracut --force 對系統 initramfs 進行強制更新在轉換驅動、升級內核或遇到啟動問題進行故障排除時尤其有用。通過確保 initramfs 包含最新配置和模塊,系統可以成功加載必要的驅動并順利啟動。
除此之外:(如果需要)
手動移除NVIDIA文件:
手動查找并刪除與NVIDIA相關的庫和文件,通常會在以下目錄:
/usr/local/cuda
/usr/lib/nvidia-current
/etc/modprobe.d/nvidia-*
/etc/X11/xorg.conf(如果已創建它來指定NVIDIA驅動)
系統重啟(其實我并沒有重啟,不過最好還是重啟一下)
在嘗試這些操作后,重啟通常是確保系統正確配置的有效方法:
sudo reboot
通過上述過程進一步檢查和卸載模塊,以確保系統是處于干凈狀態,如果還是遇到不能卸載的問題,查看系統日志可能提供更多線索:
journalctl -xe
日志記錄中可能會有已經阻止模塊卸載的具體進程甚至服務提示。為確保系統良好運行環境,你可以通過閱讀日志以了解更多詳細的信息。
1.1.10 下載合適的驅動版本:
從NVIDIA官網獲取與你顯卡和系統版本匹配的最新驅動。!!!
1.1.11 設置執行權限并安裝:
chmod +x NVIDIA-Linux-x86_64-XXX.XX.run
sudo ./NVIDIA-Linux-x86_64-XXX.XX.run
安裝過程中會遇到一些問題,能跳過就跳過,能yes直接yes就行
WARNING: This NVIDIA driver package includes Vulkan components, but no Vulkan ICD loader was detected on this system. The NVIDIA Vulkan ICD will not function without the loader. Most distributions package the Vulkan loader; try installing the "vulkan-loader", "vulkan-icd-loader", or "libvulkan1" package.
警告:此NVIDIA驅動程序包包含Vulkan組件,但當前系統未檢測到Vulkan ICD加載器。若沒有加載器,NVIDIA Vulkan ICD將無法工作。大多數Linux發行版都會提供Vulkan加載器包,請嘗試安裝"vulkan-loader"、"vulkan-icd-loader"或"libvulkan1"軟件包。
該警告信息表明:
背景:NVIDIA顯卡驅動程序中包含支持Vulkan API的組件
問題:系統缺少關鍵組件 - Vulkan ICD加載器(Installable Client Driver loader)
后果:沒有這個加載器,NVIDIA的Vulkan驅動將無法正常工作
解決方案建議:
不同Linux發行版中這個加載器可能有不同的包名稱
推薦安裝三個可能的包之一(不同發行版可能使用不同名稱)
技術說明:
Vulkan:新一代跨平臺圖形API
ICD加載器:負責管理多個Vulkan驅動的核心組件
典型應用場景:在Linux系統安裝NVIDIA驅動時出現,需要額外安裝依賴項才能啟用Vulkan支持
Would you like to register the kernel module sources with DKMS? This will allow DKMS to automatically build a new module, if your kernel changes later.
您希望向 DKMS 注冊內核模塊源碼嗎?這樣,如果以后您的內核發生更改,DKMS 將能自動構建新模塊。
解釋:
背景:
DKMS(Dynamic Kernel Module Support) 是 Linux 的一個框架,用于在系統內核升級時自動重新編譯和安裝第三方內核模塊(如顯卡驅動、虛擬化工具等)。
此提示通常在安裝 NVIDIA 驅動或其他需要內核模塊的軟件時出現。
問題核心:
如果選擇 注冊,則 DKMS 會跟蹤該模塊的源碼,并在未來內核更新后自動重新編譯適配,確保驅動持續可用。
如果選擇 不注冊,則內核升級后可能需要手動重新安裝驅動。
建議:
推薦注冊(除非有特殊需求),以避免因內核升級導致驅動失效,需手動修復。
例如,Linux 系統在更新內核后,NVIDIA 驅動若未通過 DKMS 管理,可能會無法加載,導致圖形界面異常。
技術說明:
內核模塊(Kernel Module):動態加載到內核的驅動程序(如 nvidia.ko)。
DKMS 作用:維護模塊源碼與內核版本的兼容性,自動化編譯流程。
WARNING: Unable to determine the path to install the libglvnd EGL vendor library config files. Check that you have pkg-config and the libglvnd development libraries installed, or specify a path with --glvnd-egl-config-path.
警告:無法確定安裝 libglvnd EGL 供應商庫配置文件的路徑。請檢查是否已安裝 pkg-config 和 libglvnd 開發庫,或使用 --glvnd-egl-config-path 參數手動指定路徑。
(1)背景:libglvnd(GL Vendor-Neutral Dispatch)是 Linux 上的一個 OpenGL/EGL 庫,用于管理不同 GPU 廠商(如 NVIDIA、AMD、Intel)的圖形驅動兼容性。EGL 是用于圖形渲染和顯示管理的接口,常用于 Wayland、X11 和嵌入式系統。在安裝 NVIDIA 驅動或其他 GPU 相關軟件時,系統需要正確配置 libglvnd 的 EGL 配置文件,以確保 GPU 驅動能正常工作。
(2)問題原因:系統缺少 pkg-config(用于查找庫和頭文件的工具)或 libglvnd 開發庫(libglvnd-dev 或 libglvnd-devel,具體名稱取決于 Linux 發行版)。或者,安裝程序無法自動檢測 EGL 配置文件的安裝路徑(通常位于 /usr/share/glvnd/egl_vendor.d/ 或類似目錄)。
(3)解決方案:
方法 1:安裝依賴項(適用于大多數情況):
# Debian/Ubuntu
sudo apt install pkg-config libglvnd-dev
# RHEL/CentOS/Fedora
sudo dnf install pkgconfig libglvnd-devel
# Arch Linux
sudo pacman -S pkg-config libglvnd
方法 2:手動指定路徑(如果依賴已安裝但仍報錯):
在安裝命令后添加 --glvnd-egl-config-path=/usr/share/glvnd/egl_vendor.d/(具體路徑可能因系統而異)。
(4)影響:如果忽略此問題,NVIDIA 驅動的 EGL 支持可能無法正常工作,導致某些圖形應用(如 Wayland 會話、Vulkan/OpenGL 程序)運行異常。
(5)技術說明:
pkg-config:幫助構建工具查找庫的路徑和編譯選項。
libglvnd:使多個 GPU 驅動(如 NVIDIA + Intel 核顯)能在同一系統共存并正確切換。
EGL 配置文件:告訴系統如何加載不同廠商的 EGL 實現(如 10_nvidia.json 對應 NVIDIA 驅動)。
總結:此警告表示 NVIDIA 安裝程序無法自動配置 EGL,需檢查 pkg-config 和 libglvnd 開發庫是否安裝,或手動指定路徑。修復后,GPU 的 OpenGL/EGL 支持才能正常運作。
[xxx@localhost ~]# ./NVIDIA-Linux-x86_64-570.124.06.run --extract-only
-bash: ./NVIDIA-Linux-x86_64-570.124.06.run: 權限不夠
[xxx@localhost ~]# sha256sum NVIDIA-Linux-x86_64-570.124.06.run
1818c90657d17e510de9fa032385ff7e99063e848e901cb4636ee71c8b339313 NVIDIA-Linux-x86_64-570.124.06.run
[xxx@localhost ~]# sudo -l
匹配 %2$s 上 %1$s 的默認條目:!visiblepw, always_set_home, match_group_by_gid, always_query_group_plugin, env_reset, env_keep="COLORS DISPLAY HOSTNAME HISTSIZE KDEDIR LS_COLORS", env_keep+="MAIL PS1 PS2 QTDIR USERNAME LANGLC_ADDRESS LC_CTYPE", env_keep+="LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES", env_keep+="LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE", env_keep+="LC_TIME LC_ALL LANGUAGE LINGUAS_XKB_CHARSET XAUTHORITY", secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin用戶 xxx 可以在 localhost 上運行以下命令:(ALL) ALL
[xxx@localhost ~]# chmod +x NVIDIA-Linux-x86_64-570.124.06.run
[xxx@localhost ~]# ./NVIDIA-Linux-x86_64-570.124.06.run --extract-only
Creating directory NVIDIA-Linux-x86_64-570.124.06
Verifying archive integrity... OK
Uncompressing NVIDIA Accelerated Graphics Driver for Linux-x86_64 570.124.06.......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
安裝驅動:NVIDIA-Linux-x86_64-570.124.06.run
[xxx@localhost ~]# ./NVIDIA-Linux-x86_64-570.124.06.run --dkms --no-x-check
Verifying archive integrity... OK
Uncompressing NVIDIA Accelerated Graphics Driver for Linux-x86_64 570.124.06.......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
[xxx@localhost ~]# nvidia-smi
Fri May 30 10:19:58 2025
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 570.124.06 Driver Version: 570.124.06 CUDA Version: 12.8 |
|-----------------------------------------+------------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+========================+======================|
| 0 NVIDIA H100 PCIe Off | 00000000:41:00.0 Off | 0 |
| N/A 43C P0 83W / 350W | 1MiB / 81559MiB | 0% Default |
| | | Disabled |
+-----------------------------------------+------------------------+----------------------+
| 1 NVIDIA H100 PCIe Off | 00000000:61:00.0 Off | 0 |
| N/A 45C P0 88W / 350W | 1MiB / 81559MiB | 0% Default |
| | | Disabled |
+-----------------------------------------+------------------------+----------------------++-----------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=========================================================================================|
| No running processes found |
+-----------------------------------------------------------------------------------------+
2. 獲取alphafold3源代碼與運行環境準備
2.1 git資源獲得
git clone https://github.com/google-deepmind/alphafold3.git
2.2 下載數據庫
cd alphafold3 && mkdir databases
bash ./fetch_databases.sh databases
下載完成后,生成配體處理的pickle file:
build_data
2.3 alphafold3運行環境準備
中途遇到了一些問題,主要是由于我的GPU驅動版本相對于低了跟alphafold3所需的依賴不匹配導致的!!!
升級驅動后,按照正常步驟安裝依賴就可以
2.3.1 conda 環境準備
conda create -n alphafold3 python=3.11
conda activate alphafold3
2.3.2 pip 安裝依賴
使用conda安裝支持的GCC版本:
conda install gxx_linux-64 gxx_impl_linux-64 gcc_linux-64 gcc_impl_linux-64=12.4.0 -c conda-forge
pip install -r dev-requirements.txt
對于pip安裝失敗的包,使用pip補充安裝
pip install pint pydantic msgpack qcelemental optking matplotlib edgembar joblib ndfes
2.3.3 源碼安裝部分
mkdir hmmer_build hmmer
wget http://eddylab.org/software/hmmer/hmmer-3.4.tar.gz --directory-prefix ./hmmer_build
cd hmmer_build
tar zxf ./hmmer_build/hmmer-3.4.tar.gz
cd hmmer-3.4
./configure --prefix ../../hmmer
make -j8
make install
cd easel && make install
將安裝位置加入PATH:
export PATH=path/to/hmmer/bin/:$PATH
參考:
(1)AlphaFold v3.0.1 conda版本詳細安裝與使用
(2)正確解決libstdc++.so.6: version `GLIBCXX_3.4.26‘ not found問題(出現這個問題我的原因是因為cuda版本不匹配導致的,我升級了驅動,升級后的驅動與之匹配的cuda版本更新,cuda對以往的版本是兼容的,所以conda在alphafold3環境安裝的cuda可以使用了。)
(3)jaxlib.xla_extension.XlaRuntimeError: FAILED_PRECONDITION: DNN library initialization failed #15361(出現這個問題我的原因是因為cuda版本與jax版本不匹配導致的,解決方法如上,其實解決了首要問題,比如我的驅動版本和cuda版本問題,一些問題也跟著解決了。)
(4)JAX: 庫安裝和GPU使用,解決不能識別gpu問題
(5)jaxlib.xla_extension.XlaRuntimeError:FAILED_PRECONDITION: No visible GPU devices. #352(我把這個問題的鏈接放在這里,以防有的朋友不是因為跟我一樣的問題導致的錯誤)
這里有一個命令可以看看jax能否識別GPU,如果識別不了,我的問題出在版本問題
(5)jaxlib.xla_extension.XlaRuntimeError: FAILED_PRECONDITION: DNN library initialization failed #15361
python -c "import jax; print(jax.devices())"
[gpu(id=0), gpu(id=1)]
(6)how to detect if GPU is being used? (feature request) #971
(7)“CUDA_ERROR_NOT_FOUND: named symbol not found” in Docker container #68711
(8)Pytorch Cuda returns Error 500: named symbol not found
(9)cudaErrorSymbolNotFound : named symbol not found #24749
3. 模型參數獲取
我是用的自己的谷歌賬號申請的參數af3.bin.zst
4. 安裝alphafold3
不要忘記,否則程序會說你什么什么文件沒有!!!
build_data
從當前目錄安裝 AlphaFold3 包,--no-deps
但不自動安裝它的依賴,使用--verbose
輸出更詳細的日志信息
pip install . --no-deps --verbose
參考
(1)chemical_component_sets.pickle error #222
(2)conda installation fails on manjaro because of libcifpp,also a brief conda installation guide. #49
(3)AlphaFold3使用conda安裝
(4)alphafold3本地部署(不使用docker)
(5)通過conda安裝AlphaFold3
(6)Not succesful excecution Alphafold3 #405
(7)使用虛擬環境conda安裝不同版本(指定版本)的cuda,cudnn,pytorch
(8)Nvidia-smi簡介及常用指令及其參數說明
(9)AlphaFold3中文使用說明
(10)AlphaFold3中文安裝教程
完整數據庫的下載總大小 ~252 GB,解壓縮后的總大小為 ~630 GB。請確保有足夠的硬盤空間、帶寬和時間進行下載。建議使用固態硬盤,以獲得更好的基因搜索性能和更快的運行速度。建議在screen或tmux會話中運行,因為下載和解壓數據需要一些時間。
(11)alphafold安裝及使用(保姆級教程、conda環境)
(12)AlphaFold 3 安裝與使用(根據已經構建好的Docker容器來構建 singularity 鏡像)
(13)JAX: 庫安裝和GPU使用,解決不能識別gpu問題
(14)通過conda安裝AlphaFold 3的經驗與技巧