CentOS驅動程序管理指南
在安裝或管理驅動前,需先確認硬件型號。常用命令:
lspci | grep -i [設備類型](例如lspci | grep -i ethernet查看網卡,lspci | grep -i nvidia查看NVIDIA顯卡);lsusb。編譯或安裝驅動需依賴以下工具包:
sudo yum install gcc kernel-devel kernel-headers make dkms
gcc:C語言編譯器,用于編譯源碼驅動;kernel-devel/kernel-headers:內核頭文件,驅動編譯時需引用內核API;dkms(動態內核模塊支持):自動適配新內核版本,避免每次升級內核都需重新編譯驅動。驅動來源分為三類(優先級從高到低):
yum/dnf)包含多數常見硬件的驅動(如Intel網卡、Realtek聲卡),可直接通過包管理器安裝(例如sudo yum install e1000e安裝Intel千兆網卡驅動);.run格式閉源驅動);ELRepo是CentOS常用的第三方驅動倉庫,提供匹配內核版本的NVIDIA驅動,安裝流程如下:
sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
sudo yum install elrepo-release
sudo yum install kmod-nvidia # 自動安裝匹配當前內核的NVIDIA驅動
sudo reboot
nvidia-smi命令,若顯示GPU型號、驅動版本及顯存占用等信息,則說明驅動安裝成功。若官方倉庫無適配版本的驅動,需手動編譯安裝(以NVIDIA為例):
/etc/modprobe.d/blacklist.conf,添加以下內容:blacklist nouveau
options nouveau modeset=0
更新initramfs:sudo dracut -f /boot/initramfs-$(uname -r).img $(uname -r)
重啟系統進入文本模式(init 3)。.run格式驅動(如NVIDIA-Linux-x86_64-535.161.07.run),賦予執行權限并運行:chmod +x NVIDIA-Linux-x86_64-*.run
sudo ./NVIDIA-Linux-x86_64-*.run
按照向導完成安裝(默認會覆蓋舊驅動)。sudo reboot
nvidia-smi,確認驅動加載。若官方倉庫無對應網卡驅動,需手動編譯:
lspci | grep -i ethernet(例如輸出Realtek RTL8111/8168/8411);r8168-8.050.00.tar.gz);tar -zxvf r8168-8.050.00.tar.gz
cd r8168-8.050.00/src
make clean modules
sudo make install
sudo depmod -a # 更新模塊依賴
sudo modprobe r8168 # 加載驅動
ethtool -i eth0(eth0為網卡接口名,可通過ip link show查看),若顯示驅動為r8168,則說明安裝成功。驅動通常隨系統包更新而升級,先運行以下命令更新系統:
sudo yum update;sudo dnf update。sudo yum update [驅動包名](例如sudo yum update nvidia-driver);驅動安裝后,默認可能不會開機自動加載,需將驅動模塊添加到自動加載列表:
echo "[驅動模塊名]" | sudo tee -a /etc/modules-load.d/[驅動名].conf
例如,NVIDIA驅動添加:echo "nvidia" | sudo tee -a /etc/modules-load.d/nvidia.conf。
lspci -k | grep -A 2 -i [設備類型](例如lspci -k | grep -A 2 -i vga)可查看設備使用的驅動模塊,確認驅動是否加載成功。