准备工作
安装CentOS Linux 7.9系统时,无论选择“最小化安装”或者“带GUI的服务器”,建议勾选开发工具,这样后面可省去安装gcc、kernel-devel、kernel-headers等依赖包的步骤。
本文以NVIDIA RTX A4000为例,其他型号GPU安装过程差不多。
查看内核版本和CentOS系统 版本:
uname -a cat /etc/centos-release
查看服务器上是否有NVIDIA GPU:
lspci | grep NVIDIA
/sbin/lshw -c display
如果系统安装时没有选择安装开发工具,则安装一下gcc、kernel-devel等以及相关依赖包。如果服务器没有连接互联网,则可以设置本地yum源进行安装,参考https://www.hncldz.com/?p=651 设置本地源:
sudo yum install gcc kernel-devel-$(uname -r) kernel-headers-$(uname -r)
以run文件形式安装Nvidia驱动
下载驱动
首先从英伟达官网下载驱动,打开链接https://www.nvidia.com/Download/Find.aspx,选择型号和系统后进行查找,从结果中选择其中一个版本进行下载。
获得下载地址后可以使用curl命令下载到服务器上(如果没有curl,则先yum install curl安装),例如:
curl -SL https://us.download.nvidia.com/tesla/535.129.03/NVIDIA-Linux-x86_64-535.129.03.run -O
或者先在电脑上下载,用winscp、xftp等工具传送到服务器上。
禁用nouveau驱动
nouveau是一个第三方开源的Nvidia驱动,一般Linux安装的时候默认会安装这个驱动。 这个驱动会与Nvidia官方的驱动冲突,在安装Nvidia驱动和和CUDA之前应先禁用nouveau。
查看系统是否正在使用nouveau:
lsmod | grep nouveau
如果有显示内容,如图:
新建一个配置文件:
sudo vim /etc/modprobe.d/blacklist-nouveau.conf
写入以下内容:
blacklist nouveau options nouveau modeset=0
保存并退出
:wq
备份当前的内核镜像:
sudo mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
建立新的内核镜像:
sudo dracut /boot/initramfs-$(uname -r).img $(uname -r)
重启服务器:
sudo reboot
重启后输入上面的命令验证:
lsmod | grep nouveau
停止X server
如果Centos 7正在运行桌面,则先使用以下命令停止X server的运行:
sudo systemctl stop gdm
安装驱动
运行安装程序:
sudo sh NVIDIA-Linux-x86_64-535.129.03.run
如果出现下图提示,则需要按上面命令停止X server:
如果出现以下提示则是未检测到驱动支持的GPU型号,可能是驱动版本不对或者GPU未安装好或有故障,如果是未安装GPU但想提前安装好驱动,可以继续下一步:
如果以下提示,不用管,下一步:
出现以下提示,选择yes安装32位兼容库:
如果出现以下提示,代表这个版本驱动包含了Vulkan组件,但在CentOS 7系统内未检测到Vulkan ICD加载程序,可以忽略,下一步:
警告信息:无法确定安装libglvnd EGL供应商库配置文件的路径。检查是否安装了pkg-config和libglvnd开发库,或者使用--gl vnd-egl-config-path指定路径。可以忽略,下一步:
选择是否让nvidia-xconfig更新 X server的配置文件,这里选择yes要谨慎,否则很可能会导致进图形界面时黑屏。建议一般选择NO:
安装完成:
验证驱动
使用nvidia-smi命令验证:
nvidia-smi -q命令可以查看更详细的显卡信息,比如序列号、固件版本等等。
以rpm包形式安装Nvidia驱动
因为CentOS Linux 7使用与Red Hat Enterprise Linux 7相同的内核,所以下载适用于RHEL 7的驱动rpm包进行安装绝大部分情况下也是可以的,但也有可能出现安装后驱动运行不起来的情况,这时候就建议换用上面run文件安装的方式。
下载驱动
首先从英伟达官网下载驱动,打开链接https://www.nvidia.com/Download/Find.aspx,选择好型号后,系统后选择“Linux 64-bit RHEL 7”。注意不是所有型号都有专门针对RHEL 7 的包,所以可能没有这个系统的选项,只有Linux 64-bit等。比如RTX A4000就没有,没有的话就建议下载run文件安装喽。
安装驱动
驱动下载页面有说明安装方法,如图:
不过实际在CentOS 7上安装时会提示缺少dkms包,建议先安装dkms包:
sudo yum install epel-release sudo yum install dkms
然后安装上面说的方法安装,例如(以下命令如果是普通用户执行则命令前加sudo提权):
rpm -i nvidia-driver-local-repo-rhel7-535.129.03-1.0-1.x86_64.rpm yum clean all yum install cuda-drivers reboot
重启完成后用nvidia-smi命令验证驱动是否正常驱动GPU。
卸载驱动方法
方法1
如果保留了原来安装安装驱动时的run文件,可以使用它加参数--uninstall参数进行卸载
sudo sh NVIDIA-Linux-x86_64-535.129.03.run --uninstall
如果安装驱动时选择了让nvidia-xconfig程序去修改X server的配置,则在此可以选择yes让nvidia-xconfig去从备份恢复原始的X配置文件。特别是安装驱动后出现黑屏的情况的话,就选yes。否则就选择默认的NO:
卸载完成:
方法2
运行nvidia卸载命令:
nvidia-uninstall
方法3
如果是用rpm包安装驱动,则可以用yum命令卸载nvidia相关的包:
yum remove "*nvidia*"
卸载其他被自动安装的依赖包:
yum autoremove
卸载完成后重启服务器。