oracle linux7.9(centos7.9)安装nvidia GPU显卡驱动

一.业务场景

公司服务器配置了nvidia GPU显卡,安装的是oracle linux7.9操作系统,以下是安装GPU显卡驱动的操作。

二.GPU显卡驱动的前安装步骤

1.安装前的依赖软件的安装

复制代码
yum -y install epel-release kernel-devel dkms gcc

备注:利用uname -a 命令查看系统内核版本,安装kernel-devel,dkms时的版本需与之对应一致。如利用yum安装时版本不一致,就挂载本地源的方式进行安装。

安装GPU驱动报unable to find kernel source的问题就是kernel-devel和kernel的软件版本不一致的问题,具体解决思路是

通过uname -r 和rpm -qa | grep kernel进行软件对比,之后进行切换内核

查看当前默认内核

grub2-editenv list

查看已有内核

cat /boot/grub2/grub.cfg |grep menuentry

更换默认启动内核

grub2-set-default 'CentOS (3.10.2.el7.x86_64) 24 (Workstation Edition)'

备份并重新生成grub信息

grub2-mkconfig -o /boot/grub2/grub.cfg

重启系统

reboot

2.禁用默认显卡

修改如下文件

复制代码
vi /etc/default/grub

#在GRUB_CMDLINE_LINUX中添加 rd.driver.blacklist=nouveau nouveau.modeset=0

/etc/default/grub 文本内容如下:

复制代码
# 设定超时时间,默认为5秒
GRUB_TIMEOUT=5
# 获得发行版名称(比如CentOS Linux)
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
# 该项将使用grub-set-default和grub-reboot命令来配置默认启动项
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
# 将会导入到每个启动项
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=cl/root rd.lvm.lv=cl/swap rhgb quiet rd.driver.blacklist=nouveau nouveau.modeset=0"
GRUB_DISABLE_RECOVERY="true"

3.把驱动加入黑名单中

编辑如下文件

vi /etc/modprobe.d/blacklist.conf 添加如下内容

复制代码
blacklist nouveau

4.使用 dracut重新建立 initramfs image file :

复制代码
* 备份 the initramfs file
$  mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak

* 重新建立 the initramfs file
$  dracut -v /boot/initramfs-$(uname -r).img $(uname -r)

5.更新完配置后,重启

复制代码
reboot

6.查看nouveau driver确保没有被加载!

复制代码
lsmod | grep nouveau
#应该返回空

三.安装GPU驱动软件

1.赋予驱动文件执行权限

复制代码
chmod +x NVIDIA-Linux-x86_64-390.87.run
  1. 执行安装

    ./NVIDIA-Linux-x86_64-390.87.run

安装过程中的截图

选择Continus installation

选择Yes

选择OK

成功安装

以上选择基本上都是选择YES或者OK即可,按照提示一步步安装就好了

安装完成后,重启服务器,执行如下命令查看安装情况

复制代码
nvadia-smi

服务器要重启才能执行,我遇到没有重启执行命令,报驱动未安装或者未运行的报错

相关推荐
落羽的落羽7 小时前
【C++】C++17的主要特性
linux·服务器·开发语言·c++·算法·机器学习
爱和冰阔落11 小时前
【Linux网络】TCP 半包粘包怎么解决?从长度报头、JSON 拆包到网络计算器完整实战
linux·运维·网络·tcp/ip
say_fall13 小时前
【Linux网络编程】UDP套接字编程:系统编程组件、基础回显服务、InetAddr与地址转换、翻译服务与线程池聊天室
linux·服务器·网络·udp·vr
ö Constancy14 小时前
一台电脑的硬件组成与作用:按功能分类详解(Windows 与 Linux 视角)
linux·windows·电脑
江湖有缘14 小时前
基于Ubuntu部署SoduWork:企业级 AI 原生协同平台实战全流程
linux·人工智能·ubuntu·ai·soduwork
无奈笑天下1 天前
银河麒麟上nproc命令教程详解
linux·运维·服务器
Rabitebla1 天前
【Linux】进程控制(十二) 自定义 Shell(二):内建命令与进程工作目录管理
linux·c++·笔记·学习·bash
坤坤子吖1 天前
Linux网络编程:TCP 粘包与半包问题,如何正确处理 TCP 流式数据?
linux·服务器·网络·笔记·网络协议·学习
AI_Gump1 天前
Harness篇|DeepSeek Harness 上手机:五条安卓移植路线与 App 内 Linux 拆解
android·linux·人工智能·智能手机·deepseek
星恒随风1 天前
MySQL 从零入门(六):复合查询详解——多表查询、自连接、子查询与 UNION
linux·服务器·数据库·mysql