前记:因为实习公司刚到一批机器,需要配置环境,此前没有对服务器进行过驱动安装,一步一步坑走过来,血与泪的教训,注意,本博客仅适用与centors7显卡驱动安装且未装过任何驱动,若之前已经装有驱动,请全部卸载重装,默认你是root权限

查看系统型号:

cat /etc/redhat-release

CentOS Linux release 7.6.1810 (Core)

1.查看显卡型号

lspci | grep -i nvidia

2.查看显卡驱动版本

cat /proc/driver/nvidia/version

没有结果则表示驱动未安装

3.查看内核版本

uname -r

版本号为:3.10.0-957.el7.x86_64

########以下过程非必需,跳过######
从ELRepo源安装显卡驱动

1.添加ELRepo源
a.首先导入公共密钥

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

b.然后安装ELRepo
对于CentOS-7:

rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm

2.查找合适的驱动
a.安装显卡检查程序

yum install nvidia-detect

b.检查显卡驱动信息

nvidia-detect -v

查看centos 7 没有docker centos7查看驱动安装好没有_查看centos 7 没有docker


410.78为需安装的显卡版本号,也可以去英伟达官网,下载驱动安装,因为这个版本去yum源里面没有搜索到,我直接去英伟达官网下载cuda相应的驱动

3.yum搜索驱动:yum search kmod-nvidia-410.78 (不一定会有,我的这个型号就没有)

3.安装驱动:yum -y install kmod-nvidia-410.78 xxxx为检测出的驱动型号

注意:yum不一定会有对应的驱动,因此这个方法可能不会成功

############以下过程必须###########

4.安装编译环境:gcc、kernel-devel、kernel-headers
(1)安装gcc、g++编译器

yum install gcc gcc-c++

问题Error: Package: glibc-2.17-196.el7_4.2.i686 (updates) Requires: glibc-common = 2.17-196.e解决:更换yum源

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
sed -i  's/$releasever/7/g' /etc/yum.repos.d/CentOS-Base.repo
yum repolist
mv /boot/initramfs-(uname−r).img/boot/initramfs− (uname -r).img
yum install -y "kernel-devel-uname-r == $(uname -r)"

查看是否安装成功:gcc -v (2)安装kernel-devel、kernel-headers

yum install kernel-devel-$(uname -r) kernel-headers-$(uname -r)

问题: No package kernel-devel-uname-r == 3.10.0-957.el7.x86_64 available.解决: 同上更换yum源

5.安装epel和dkms

yum -y install epel-release
yum --enablerepo=epel install dkms

问题: GPG key retrieval failed: [Errno 14] curl#37 - "Couldn't open file /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6"解决: vim /etc/yum.repos.d/epel.repo 将[epel]下的gpgcheck=1,改为gpgcheck=0

6.屏蔽默认带有的nouveau(linux系统自带的显卡驱动,不屏蔽的话会产生冲突)
(1)打开/lib/modprobe.d/dist-blacklist.conf(此位置针对本机centors7,ubuntu可能不一样)
然后添加以下语句:

blacklist nouveau

(2)重建initramfs image步骤

mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
dracut /boot/initramfs-$(uname -r).img $(uname -r)

(3)重启reboot,查看nouveau是否被禁用: lsmod | grep nouveau 没有输出则表示被禁用

7.安装驱动:sh NVIDIA-Linux-x86_64-384.145.run --kernel-source-path=/usr/src/kernels/3.10.0-957.el7.x86_64 -k $(uname -r)
(驱动型号去Nvidia官网根据显卡查看下载,3.10.0-957.el7.x86_64为内核版本)

可能的问题:
1.报错:ERROR: The Nouveau kernel driver is currently in use by your system. This driver is incompatible with the NVIDIA driver, and must be disabled before proceeding. 解决办法:nouveau未禁用,禁用后重启

2.问题:ERROR: Unable to load the kernel module 'nvidia.ko' 解决办法:sh NVIDIA-Linux-x86_64-384.145.run --kernel-source-path=/usr/src/kernels/3.10.0-957.el7.x86_64 -k $(uname -r) 注意要添加kernel-source-path

3.安装到最后一步出现:Unable to load the ‘navidia-drm’ kernel module 解决办法:

查看centos 7 没有docker centos7查看驱动安装好没有_查看centos 7 没有docker_02


查看centos 7 没有docker centos7查看驱动安装好没有_重启_03


查看centos 7 没有docker centos7查看驱动安装好没有_显卡驱动_04


8.查看驱动是否成功安装

出现以下界面,且nvidia-smi成功显示则表明成功安装(可能需要重启)

查看centos 7 没有docker centos7查看驱动安装好没有_重启_05