CentOS无网络环境下,如何离线安装NVIDIA驱动?

在无网络连接的生产环境或隔离服务器中,为CentOS系统安装NVIDIA驱动是一项常见但具有挑战性的任务,整个过程的核心在于“先在线准备好,后离线来安装”,本文将详细阐述这一流程,确保您能够顺利完成离线安装,并解决可能遇到的常见问题。

CentOS无网络环境下,如何离线安装NVIDIA驱动?

第一步:在线环境下的准备工作

在拥有互联网访问权限的、与目标离线机系统环境(CentOS版本、内核版本)尽可能一致的“准备机”上,我们需要下载所有必需的文件。

确认目标离线机的系统信息

在离线机上执行以下命令,获取关键信息,并记录下来,这些信息将指导我们在准备机上下载正确的驱动和依赖包。

# 查看CentOS版本
cat /etc/centos-release
# 查看当前内核版本,此版本号至关重要
uname -r
# 示例输出:3.10.0-1160.83.1.el7.x86_64
# 查看GPU型号
lspci | grep -i nvidia
# 示例输出:01:00.0 VGA compatible controller: NVIDIA Corporation ...

要点: uname -r的输出必须与即将下载的kernel-develkernel-headers包的版本号严格一致,任何差异都会导致驱动编译失败。

下载NVIDIA官方驱动程序

访问NVIDIA官方驱动下载页面:https://www.nvidia.com/Download/index.aspx

根据之前记录的GPU型号、操作系统(选择Linux 64-bit)和CentOS版本,搜索并下载合适的驱动程序文件,文件通常为.run格式,NVIDIA-Linux-x86_64-525.147.05.run

下载核心依赖包

NVIDIA驱动的安装过程需要编译内核模块,因此必须安装开发工具和内核头文件,在准备机上,使用yumdownloader工具来下载这些包及其所有依赖项,而无需实际安装它们。

确保安装了yum-utils

sudo yum install -y yum-utils

创建一个目录用于存放所有下载的文件,并进入该目录:

mkdir nvidia-offline-packages
cd nvidia-offline-packages

使用yumdownloader命令下载以下关键包。--resolve参数会自动下载所有必需的依赖项。

CentOS无网络环境下,如何离线安装NVIDIA驱动?

# 下载与离线机内核版本完全匹配的 kernel-devel 和 kernel-headers
# 请将 "3.10.0-1160.83.1.el7.x86_64" 替换为您离线机实际的内核版本
yumdownloader --resolve kernel-devel-3.10.0-1160.83.1.el7.x86_64 kernel-headers-3.10.0-1160.83.1.el7.x86_64
# 下载编译工具链和其它关键库
yumdownloader --resolve gcc make dkms elfutils-libelf-devel

将下载的NVIDIA .run文件也移动到此目录中,至此,准备工作完成,这个nvidia-offline-packages文件夹包含了离线安装所需的一切。

第二步:离线环境下的安装过程

将准备好的nvidia-offline-packages文件夹通过U盘、移动硬盘或内部网络共享等方式传输到目标CentOS离线机上。

安装所有依赖包

在离线机上,进入存放依赖包的目录,使用yum localinstall命令进行本地安装,此命令能自动处理本地RPM包之间的依赖关系。

cd /path/to/nvidia-offline-packages
sudo yum localinstall ./*.rpm

等待安装完成,确保没有报错。

禁用系统默认的nouveau驱动

CentOS默认使用开源的nouveau驱动,它会与NVIDIA官方驱动冲突,必须将其禁用。

创建一个新的黑名单文件:

sudo vi /etc/modprobe.d/blacklist-nouveau.conf

在文件中添加以下两行内容:

blacklist nouveau
options nouveau modeset=0

保存并退出后,需要重新生成initramfs并重启系统以使更改生效。

sudo dracut --force
sudo reboot

执行NVIDIA驱动安装

系统重启后,进入命令行模式(非图形界面),如果系统默认启动图形界面,可以通过以下命令切换:

CentOS无网络环境下,如何离线安装NVIDIA驱动?

sudo systemctl isolate multi-user.target

进入存放NVIDIA驱动的目录,为.run文件添加执行权限并运行安装程序:

cd /path/to/nvidia-offline-packages
chmod +x NVIDIA-Linux-x86_64-*.run
sudo ./NVIDIA-Linux-x86_64-*.run

安装过程中,会显示NVIDIA的用户许可协议(EULA),选择Accept接受,后续步骤,如安装32位兼容库等,通常选择默认选项即可(按回车键或选择Yes),安装程序会自动编译并安装内核模块。

安装成功后,重启系统以加载新驱动:

sudo reboot

验证安装

系统再次启动后,打开终端,输入以下黄金命令来验证驱动是否安装成功:

nvidia-smi

如果看到类似下图的表格输出,包含了驱动版本、CUDA版本、GPU型号、温度、功耗和使用率等信息,那么恭喜您,NVIDIA驱动已成功安装。

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 525.147.05   Driver Version: 525.147.05   CUDA Version: 12.0     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA GeForce ...  On   | 00000000:01:00.0 Off |                  N/A |
| 30%   28C    P8    15W / 350W |    256MiB / 12288MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+

相关问答FAQs

问1:为什么在安装NVIDIA驱动之前,必须禁用nouveau驱动?
答: nouveau是Linux内核中自带的开源NVIDIA显卡驱动程序,而我们要安装的是NVIDIA官方提供的闭源私有驱动,这两个驱动都试图控制同一块硬件,如果同时存在,会发生严重的冲突,导致系统无法正常启动GUI、黑屏或驱动加载失败,必须通过黑名单机制在内核层面彻底禁用nouveau,为官方驱动的安装和运行扫清障碍。


答: 如果版本不匹配,NVIDIA安装程序在编译内核模块时会失败,并报错,提示找不到与当前内核对应的头文件,这会导致安装中断,内核模块是驱动与内核沟通的桥梁,必须精确匹配,为了避免这个问题,最可靠的方法是在准备机上,使用uname -r获取离线机的确切内核版本号,然后在下载kernel-develkernel-headers包时,使用完整的版本号(包括el7.x86_64等后缀)进行指定下载,确保万无一失。

【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!

(0)
热舞的头像热舞
上一篇 2025-10-09 00:42
下一篇 2025-10-09 00:45

相关推荐

  • centos按e配置中遇到的问题,如何解决这个疑惑?

    CentOS按E:安装指南准备阶段确认硬件和软件环境在进行CentOS安装之前,首先需要确认硬件和软件环境是否符合要求,一般而言,CentOS支持多种硬件架构,如x86_64、ARM等,确保操作系统版本兼容,下载CentOS镜像从CentOS官网下载适合自己硬件架构的CentOS镜像,选择稳定版(如CentOS……

    2026-01-17
    003
  • CentOS下访问网站失败怎么办?排查步骤有哪些?

    在CentOS系统中访问网站是日常运维和开发中的常见需求,无论是通过命令行工具排查网络问题,还是通过图形界面浏览网页,掌握正确的方法能提高工作效率,本文将详细介绍在CentOS下访问网站的多种方式,包括命令行工具、图形界面浏览以及常见问题的排查方法,使用命令行工具访问网站命令行工具是CentOS系统中高效访问网……

    2025-11-06
    005
  • 如何确保服务器数据库备份与恢复的有效性和安全性?

    服务器数据库的备份与恢复是确保数据安全的关键措施。定期进行备份可以防止数据丢失,而高效的恢复策略则能在发生故障时迅速恢复业务运行。选择合适的备份工具和恢复方法对维护系统稳定性至关重要。

    2024-08-08
    007
  • CentOS XFCE主题美化后界面卡顿怎么办?

    CentOS XFCE美化主题:打造简洁高效的桌面体验CentOS作为一款稳定可靠的Linux发行版,常被用于服务器和企业环境,许多用户也在个人电脑上选择CentOS,并通过轻量级的XFCE桌面环境获得流畅的使用体验,XFCE以其低资源占用和高可定制性著称,而美化主题则能让这个桌面焕发新的生机,本文将详细介绍如……

    2025-11-16
    004

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

广告合作

QQ:14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信