1. 识别硬件信息
使用lspci
(PCI设备,如显卡、网卡)和lsusb
(USB设备)命令查看硬件型号,为后续驱动选择提供依据。例如,lspci | grep -i nvidia
可识别NVIDIA显卡型号。
2. 优先使用包管理器安装驱动
CentOS的yum
(CentOS 7及以下)或dnf
(CentOS 8及以上)包管理器是安装驱动的首选方式,能自动解决依赖问题。例如,安装NVIDIA显卡驱动可使用sudo yum install nvidia-driver
;安装Intel网卡驱动可使用sudo yum install e1000e
(具体包名以实际为准)。
3. 添加第三方仓库扩展驱动覆盖
对于包管理器中没有的驱动(如较新版本的NVIDIA显卡驱动),可添加ELRepo第三方仓库。操作步骤:导入GPG密钥sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
,安装仓库包sudo rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
(CentOS 7),然后通过sudo yum install nvidia-driver
安装驱动。
4. 手动编译安装驱动(针对无包管理器支持的驱动)
若包管理器中没有所需驱动,需从硬件制造商官网下载源码手动编译。步骤:安装开发工具sudo yum groupinstall "Development Tools"
和内核头文件sudo yum install kernel-devel-$(uname -r)
;解压驱动包并进入目录,执行./configure
(若有)、make
编译,最后用sudo make install
安装;加载驱动sudo modprobe <驱动模块名>
(如nvidia
)。
5. 管理内核模块加载与冲突
modprobe <模块名>
加载驱动(如sudo modprobe nvidia
),modprobe -r <模块名>
卸载驱动(如sudo modprobe -r nouveau
);/etc/modules-load.d/<conf文件>.conf
中(如echo "nvidia" | sudo tee /etc/modules-load.d/nvidia.conf
);nouveau
驱动),可将冲突模块加入黑名单。编辑/etc/modprobe.d/blacklist.conf
,添加blacklist nouveau
和options nouveau modeset=0
,然后卸载冲突模块sudo modprobe -r nouveau
。6. 验证驱动安装有效性
nvidia-smi
查看驱动版本和GPU状态;AMD显卡用rocminfo
查看ROCm驱动信息;lspci -k
查看设备使用的驱动(如Kernel driver in use: nvidia
),dmesg
查看内核日志确认驱动加载无错误。7. 处理内核更新后的驱动兼容性
内核更新后,手动编译的驱动需重新编译安装。若使用DKMS(动态内核模块支持),可自动完成此过程。安装DKMS:sudo yum install dkms
;对于支持DKMS的驱动(如NVIDIA),安装时会自动注册,内核更新后会自动重新编译驱动。
8. 注意事项