Centos7.6离线安装显卡驱动

Centos7.6离线安装显卡驱动

背景:今天要给客户的机器远程装一个需要GPU才能跑的服务,客户是台干干净净刚虚拟化过的服务器,没有网路的单机环境。

1、查看显卡有关的信息

lshw -numeric -C display

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-N97zltii-1609298294905)(F:\百答\部署\客户机部署文档\图片内容审核服务部署文档\显卡驱动安装记录\查看显卡信息.jpg)]

可以看到客户的显卡是Matrox G200eW3,然后可以到官网上去找对应驱动网址:https://www.nvidia.cn/Download/index.aspx?lang=cn

当然这个Matrox G200eW3是找不到的(至少我找了好久,大佬请下面评论支招),我用的是人家运维人员有提前在服务器内准备好了的驱动文件

在这里插入图片描述

2、禁用自带的驱动项目nouveau

先查看nouveau驱动是否开启

lsmod | grep nouveau

在这里插入图片描述

执行以下动作:

修改dist-blacklist.conf文件
vim /lib/modprobe.d/dist-blacklist.conf

注释blacklist nvidiafb 
#blacklist nvidiafb 

添加下面两句:
blacklist nouveau
options nouveau modeset=0

3、重建initramfs image

执行如下步骤

#备份一份成bak文件
mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
#重启镜像
dracut /boot/initramfs-$(uname -r).img $(uname -r)
#修改运行级别为文本模式
systemctl set-default multi-user.target

然后重启服务器

reboot

重启后:

在这里插入图片描述

4、安装kernel-devel、gcc

kernel-devel的版本一定要和内核版本一致,由于是离线安装,这里推荐一个网站搜索离线包:https://pkgs.org/

使用rmp安装方式需要很多依赖包,由于我没网我的方式是在一模一样的有网络的系统上执行以下动作

yum list | grep gcc

得到yum可以装的gcc的版本
在这里插入图片描述

由于之前用https://pkgs.org/这个网站,我知道了我要装的是 gcc-4.8.5-44.el7.x86_64,所以执行

yum deplist gcc-4.8.5-44.el7.x86_64

可以得到该gcc对应版本所需要的依赖以及顺序

在这里插入图片描述

列出来这么多包,有可能本机上有一些已经有了,可以通过以下命令查一查,比如查询有没有cpp,这类可以参看以下博客:http://www.51sjk.com/b1b101857/

rpm -qa | grep binutils

如果没有弹出搜索结果信息,证明没有这个依赖包,那么我们有三种方式可以下载我们所需要的依赖包,下面以搜索:binutils.x86_64 2.27-44.base.el7这个包为例(但事实上我在按此驱动的时候并不需要这个,我只是举个栗子)

1、使用网站下载

可以使用https://pkgs.org/网站搜索binutils,然后找到对应版本下载,这里不赘述

2、yumdownloader

yumdownloader --resolve --destdir=./ binutils

只出现了一个包,但似乎用这种方式不全,可能是由于我当前机器的依赖包已经满足直接安装了,所以只能找这个包自己而已

3、repotrack(最优)

repotrack binutils

在这里插入图片描述

可以看到出现了很多rpm包,这种方式就是把所有的可能需要的包都下载好了,包括支持binutils需要的包的包都列出

然后根据之前的yum deplist命令查找的需要的包单独放到某个文件夹下,等全部工作做好了后在该文件夹下执行以下命令安装gcc以及其依赖

rpm -Uvh *.rpm --nodeps --force

注:–force强制安装,具体使不适用force还请酌情处理

验证有没有成功:

gcc -v

kernel-devel请依照上面的方法安装,不再赘述。

不用装dkms,别装。

5、执行安装文件

将显卡安装文件的执行权限调至可运行

chmod u+x NVIDIA-Linux-x86_64-415.13.run

执行安装脚本

./NVIDIA-Linux-x86_64-375.39.run --kernel-source-path=/usr/src/kernels/3.10.0-862.el7.x86_64

请将上面内容改成你自己的位置,不要直接复制

开始安装

在这里插入图片描述

在这里插入图片描述

然后出现警告:

在这里插入图片描述

然后报错

在这里插入图片描述

(PS:navida安装报错的log地址:/var/log/nvidia-installer.log)

反复研究了一下报错的信息,然后仔细研究了一下kernel-devel的版本,发现我用的版本是kernel-devel-3.10.0-957.XXX.el7.x86_64,然而我的内核版本是3.10.0-957.el7.x86_64,我没有用内核版本,于是费尽周折找到了这些文件

在这里插入图片描述

安装这些文件后你可以再装一个libglvnd,装显卡的驱动运行的时候需要这个但由于离线环境是没网下不了的,你可以提前准备

在这里插入图片描述

这一切都搞完了之后再执行:

./NVIDIA-Linux-x86_64-450.80.02.run

安装完毕

安装这些文件后你可以再装一个libglvnd,装显卡的驱动运行的时候需要这个但由于离线环境是没网下不了的,你可以提前准备

[外链图片转存中…(img-sqAZdSKR-1609298294919)]

这一切都搞完了之后再执行:

./NVIDIA-Linux-x86_64-450.80.02.run

安装完毕

如有问题还请不吝赐教

Guess you like

Origin blog.csdn.net/qq_43535595/article/details/111954835