centos-stream-9上安装nvidia驱动和cuda-toolkit

这里写目录标题

    • 驱动安装
      • 1. 更新系统
      • 2. NVIDIA GPU安装
        • 检查系统是否安装了 NVIDIA GPU
        • 2.1 首先,使用以下命令更新 DNF 软件包存储库缓存:
        • 2.2 安装编译 NVIDIA 内核模块所需的依赖项和构建工具
        • 2.3 在 CentOS Stream 9 上添加官方 NVIDIA CUDA 软件包存储库
        • 2.4 在 CentOS Stream 9 上安装最新的 NVIDIA GPU 驱动程序
        • 2.5 为了使更改生效,请使用以下命令重新启动计算机:
        • 2.6 测试
    • 2、cuda-toolkit安装
      • 2.1 安装
      • 2.2 环境配置
      • 测试

驱动安装

参考:centos-stream-9-上安装-nvidia-驱动程序

1. 更新系统

首先,确保你的系统是最新的:

sudo dnf update -y

2. NVIDIA GPU安装

检查系统是否安装了 NVIDIA GPU

您可以使用以下命令检查您的计算机是否安装了 NVIDIA GPU:

lspci | egrep 'VGA|3D'

如您所见,我的计算机上安装了 NVIDIA GeForce RTX 3060 GPU。您可能安装了不同的 NVIDIA GPU。

[root@cheng ~]# lspci | egrep 'VGA|3D'
06:00.0 VGA compatible controller: NVIDIA Corporation GA106 [GeForce RTX 3060 Lite Hash Rate] (rev a1)

默认情况下,CentOS Stream 9 上使用开源 Nouveau GPU 驱动程序1,而不是专有 NVIDIA GPU 驱动程序2。安装专有 NVIDIA GPU 驱动程序后,您将看到它们被使用,而不是开源 Nouveau GPU 驱动程序。

lsmod | grep nouveau
lsmod | grep nvidia

[root@cheng ~]# lsmod | grep nouveau
lsmod | grep nvidia
nvidia_drm            143360  0
nvidia_modeset       1421312  1 nvidia_drm
nvidia_uvm           3899392  0
nvidia              70721536  2 nvidia_uvm,nvidia_modeset
video                  77824  1 nvidia_modeset
drm_kms_helper        274432  2 nvidia_drm
drm                   782336  4 drm_kms_helper,nvidia,nvidia_drm
[root@cheng ~]# lsmod | grep nvidia
lsmod | grep nouveau
nvidia_drm            143360  0
nvidia_modeset       1421312  1 nvidia_drm
nvidia_uvm           3899392  0
nvidia              70721536  2 nvidia_uvm,nvidia_modeset
video                  77824  1 nvidia_modeset
drm_kms_helper        274432  2 nvidia_drm
drm                   782336  4 drm_kms_helper,nvidia,nvidia_drm

从 BIOS 禁用安全启动
要使 NVIDIA GPU 驱动程序在 CentOS Stream 9 上运行,如果主板使用 UEFI 固件启动操作系统,则必须从主板的 BIOS 禁用安全启动

在 CentOS Stream 9 上启用 EPEL 存储库
要在 CentOS Stream 9 上安装 NVIDIA GPU 驱动程序,您必须安装所需的构建工具和编译 NVIDIA 内核模块所需的依赖库。其中一些可以在 CentOS Stream 9 EPEL 存储库中找到。


在本节中,我将向您展示如何在 CentOS Stream 9 上启用 EPEL 存储库。

2.1 首先,使用以下命令更新 DNF 软件包存储库缓存:
sudo dnf makecache

使用以下命令启用官方 CentOS Stream 9 CRB 软件包存储库:

sudo dnf config-manager --set-enabled crb

使用以下命令安装 epel-release 和 epel-next-release 软件包:

sudo dnf install epel-release epel-next-release

要确认安装,请按Y,然后按。

要确认 GPG 密钥,请按 Y,然后按 。

应安装 epel-release 和 epel-next-release 软件包,并启用 EPEL 存储库。

为了使更改生效,请使用以下命令更新 DNF 软件包存储库缓存:

sudo dnf makecache
2.2 安装编译 NVIDIA 内核模块所需的依赖项和构建工具

要安装编译 NVIDIA 内核模块所需的构建工具和依赖库,请运行以下命令:

sudo dnf install kernel-headers-$(uname -r) kernel-devel-$(uname -r) tar bzip2 make automake gcc gcc-c++ pciutils elfutils-libelf-devel libglvnd-opengl libglvnd-glx libglvnd-devel acpid pkgconfig dkms

要确认安装,请按Y,然后按。

正在从互联网下载所需的软件包。需要一段时间才能完成。

下载软件包后,系统会要求您确认 CentOS 官方软件包存储库的 GPG 密钥。

要确认 GPG 密钥,请按 Y,然后按 。

要确认 EPEL 存储库的 GPG 密钥,请按 Y,然后按 。

安装应该继续。

至此,编译NVIDIA内核模块所需的依赖库和构建工具就应该安装完毕了。

2.3 在 CentOS Stream 9 上添加官方 NVIDIA CUDA 软件包存储库

要在 CentOS Stream 9 上添加官方 NVIDIA CUDA 软件包存储库,请运行以下命令:

sudo dnf config-manager --add-repo http://developer.download.nvidia.com/compute/cuda/repos/rhel9/$(uname -i)/cuda-rhel9.repo

为了使更改生效,请使用以下命令更新 DNF 软件包存储库缓存:

sudo dnf makecache
2.4 在 CentOS Stream 9 上安装最新的 NVIDIA GPU 驱动程序

要在 CentOS Stream 9 上安装最新版本的 NVIDIA GPU 驱动程序,请运行以下命令:

sudo dnf module install nvidia-driver:latest-dkms

要确认安装,请按Y,然后按。

所有NVIDIA GPU驱动程序包和所需的依赖包都是从互联网上下载的。需要一段时间才能完成。

下载软件包后,系统会要求您确认官方 NVIDIA 软件包存储库的 GPG 密钥。按 Y,然后按 确认 GPG 密钥。

安装应该继续。需要一段时间才能完成。

我在这步执行中报错:

Last metadata expiration check: 0:05:51 ago on Fri 11 Apr 2025 03:30:46 PM CST.
Error: Problem 1: package nvidia-driver-libs-3:570.124.06-1.el9.x86_64 from cuda-rhel9-x86_64 requires egl-wayland(x86-64) >= 1.1.13.1-3, but none of the providers can be installed- cannot install the best candidate for the job- package egl-wayland-1.1.13.1-3.el9.x86_64 from cuda-rhel9-x86_64 is filtered out by modular filtering- package egl-wayland-1.1.19~20250313gitf1fd514-1.el9.x86_64 from cuda-rhel9-x86_64 is filtered out by modular filteringProblem 2: package nvidia-driver-3:570.124.06-1.el9.x86_64 from cuda-rhel9-x86_64 requires nvidia-driver-libs(x86-64) = 3:570.124.06, but none of the providers can be installed- package nvidia-driver-3:570.124.06-1.el9.x86_64 from cuda-rhel9-x86_64 requires libnvidia-glvkspirv.so.570.124.06()(64bit), but none of the providers can be installed- package nvidia-driver-3:570.124.06-1.el9.x86_64 from cuda-rhel9-x86_64 requires libnvidia-gpucomp.so.570.124.06()(64bit), but none of the providers can be installed- package nvidia-driver-libs-3:570.124.06-1.el9.x86_64 from cuda-rhel9-x86_64 requires egl-wayland(x86-64) >= 1.1.13.1-3, but none of the providers can be installed- cannot install the best candidate for the job- package egl-wayland-1.1.13.1-3.el9.x86_64 from cuda-rhel9-x86_64 is filtered out by modular filtering- package egl-wayland-1.1.19~20250313gitf1fd514-1.el9.x86_64 from cuda-rhel9-x86_64 is filtered out by modular filteringProblem 3: package xorg-x11-nvidia-3:570.124.06-1.el9.x86_64 from cuda-rhel9-x86_64 requires libnvidia-glcore.so.570.124.06()(64bit), but none of the providers can be installed- package xorg-x11-nvidia-3:570.124.06-1.el9.x86_64 from cuda-rhel9-x86_64 requires libnvidia-tls.so.570.124.06()(64bit), but none of the providers can be installed- package nvidia-xconfig-3:570.124.06-1.el9.x86_64 from cuda-rhel9-x86_64 requires xorg-x11-nvidia(x86-64) >= 3:570.124.06, but none of the providers can be installed- package nvidia-driver-libs-3:570.124.06-1.el9.x86_64 from cuda-rhel9-x86_64 requires egl-wayland(x86-64) >= 1.1.13.1-3, but none of the providers can be installed- cannot install the best candidate for the job- package egl-wayland-1.1.13.1-3.el9.x86_64 from cuda-rhel9-x86_64 is filtered out by modular filtering- package egl-wayland-1.1.19~20250313gitf1fd514-1.el9.x86_64 from cuda-rhel9-x86_64 is filtered out by modular filteringProblem 4: package nvidia-driver-3:570.124.06-1.el9.x86_64 from cuda-rhel9-x86_64 requires nvidia-driver-libs(x86-64) = 3:570.124.06, but none of the providers can be installed- package nvidia-driver-3:570.124.06-1.el9.x86_64 from cuda-rhel9-x86_64 requires libnvidia-glvkspirv.so.570.124.06()(64bit), but none of the providers can be installed- package nvidia-driver-3:570.124.06-1.el9.x86_64 from cuda-rhel9-x86_64 requires libnvidia-gpucomp.so.570.124.06()(64bit), but none of the providers can be installed- package nvidia-settings-3:570.124.06-1.el9.x86_64 from cuda-rhel9-x86_64 requires nvidia-driver(x86-64) = 3:570.124.06, but none of the providers can be installed- package nvidia-driver-libs-3:570.124.06-1.el9.x86_64 from cuda-rhel9-x86_64 requires egl-wayland(x86-64) >= 1.1.13.1-3, but none of the providers can be installed- cannot install the best candidate for the job- package egl-wayland-1.1.13.1-3.el9.x86_64 from cuda-rhel9-x86_64 is filtered out by modular filtering- package egl-wayland-1.1.19~20250313gitf1fd514-1.el9.x86_64 from cuda-rhel9-x86_64 is filtered out by modular filtering
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)

问了大模型的解决办法都不行,最后发现错误日志最后括号内的提示,改成如下命令就成功了:

sudo dnf module install nvidia-driver:latest-dkms --skip-broken
2.5 为了使更改生效,请使用以下命令重新启动计算机:
sudo reboot

检查 NVIDIA 驱动程序是否安装正确
计算机启动后,您应该会看到使用专有的 NVIDIA GPU 驱动程序1,而不是开源的 Nouveau GPU 驱动程序2。

lsmod | grep nvidia
lsmod | grep nouveau

您还应该在 CentOS Stream 9 的应用程序菜单中找到NVIDIA X Server Settings应用程序。单击它。

NVIDIA X 服务器设置应用程序运行时应该没有任何错误,并且应该显示与您安装的 NVIDIA GPU 相关的大量信息。

2.6 测试

您还应该能够运行 NVIDIA 命令行程序,例如 nvidia-smi

[root@cheng ~]# nvidia-smiSun Dec 22 14:37:55 2024       
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 565.57.01              Driver Version: 565.57.01      CUDA Version: 12.7     |
|-----------------------------------------+------------------------+----------------------+
| 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 RTX 3060        Off |   00000000:06:00.0 Off |                  N/A |
| 31%   23C    P8              6W /  170W |      18MiB /  12288MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------++-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI        PID   Type   Process name                              GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|  No running processes found                                                             |
+-----------------------------------------------------------------------------------------+

2、cuda-toolkit安装

2.1 安装

参考官网:CUDA Toolkit 12.8 Update 1 Downloads

2.2 环境配置

全局配置,对所有用户生效:

[chenfeng@iZ2ze8ss1mj33afx13mulcZ temp]$ sudo vim /etc/profile
在文件末尾追加:export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH

然后,重启终端 或 执行 source /etc/profile

测试

nvcc --version

[chenfeng@iZ2ze8ss1mj33afx13mulcZ temp]$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2025 NVIDIA Corporation
Built on Fri_Feb_21_20:23:50_PST_2025
Cuda compilation tools, release 12.8, V12.8.93
Build cuda_12.8.r12.8/compiler.35583870_0

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/76439.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LDAP高效数据同步:Syncrepl复制模式实战指南

#作者:朱雷 文章目录 一、Syncrepl 复制简介1.1. 什么是复制模式1.2. 什么是 syncrepl同步复制 二、Ldap环境部署三、配置复制类型3.1. 提供者端配置3.2. 消费者端配置3.3.启动服务3.4.测试同步是否生效 四、总结 一、Syncrepl 复制简介 1.1. 什么是复制模式 Ope…

Linux 内核网络协议栈中的 struct packet_type:以 ip_packet_type 为例

在 Linux 内核的网络协议栈中,struct packet_type 是一个核心数据结构,用于注册特定协议类型的数据包处理逻辑。它定义了如何处理特定协议的数据包,并通过协议类型匹配机制实现协议分发。本文将通过分析 ip_packet_type 的定义和作用,深入探讨其在网络协议栈中的重要性。 …

QT Sqlite数据库-教程001 创建数据库和表-下

【1】创建带名称的数据库 #include <QtSql/QSqlDatabase> #include <QtSql/QSqlQuery> #include <QtSql/QSqlRecord> QString path QDir::currentPath(); QApplication::addLibraryPath(pathQString("/release/plugins")); QPluginLoader loader…

Cannot find module ‘vue‘ or its corresponding type declarations

在使用vue3vite创建新的工程时&#xff0c;在新增.vue文件时会出现Cannot find module vue这个错误。 只需要我们在项目中的.d.ts文件中添加以下代码即可 declare module *.vue {import { defineComponent } from vue;const component: ReturnType<typeof defineComponent&…

SSRF打靶总结

文章目录 一. PortSwigger1、本地服务器的基本SSRF2、基本的目标不是漏洞机3、Referer标头的外带SSRF4、简单黑名单的SSRF黑名单绕过思路&#xff1a; 5、重定向的SSRF6. 简单的白名单SSRF白名单绕过思路&#xff1a; 二、BWAPP1. SSRF 文件包含漏洞 | 内网探测2. XXE -> S…

STL-函数对象

1.函数对象 1.1 概念 重载函数调用操作符的类&#xff0c;其对象被称为函数对象 函数对象使用重载的&#xff08;&#xff09;时&#xff0c;行为类似函数调用&#xff0c;也成为仿函数 本质&#xff1a;函数对象&#xff08;仿函数&#xff09;是一个类&#xff0c;不是一…

多线程(Java)

注&#xff1a;本文为本人学习过程中的笔记 1.导入 1.进程和线程 我们希望我们的程序可以并发执行以提升效率&#xff0c;此时引入了多进程编程。可是创建进程等操作开销太大&#xff0c;于是就将进程进一步拆分成线程&#xff0c;减少开销。进程与进程之间所涉及到的资源是…

在 Dev-C++中编译运行GUI 程序介绍(三)有趣示例一组

在 Dev-C中编译运行GUI程序介绍&#xff08;三&#xff09;有趣示例一组 前期见 在 Dev-C中编译运行GUI 程序介绍&#xff08;一&#xff09;基础 https://blog.csdn.net/cnds123/article/details/147019078 在 Dev-C中编译运行GUI 程序介绍&#xff08;二&#xff09;示例&a…

【高校主办】2025年第四届信息与通信工程国际会议(JCICE 2025)

重要信息 会议网址&#xff1a;www.jcice.org 会议时间&#xff1a;2025年7月25-27日 召开地点&#xff1a;哈尔滨 截稿时间&#xff1a;2025年6月15日 录用通知&#xff1a;投稿后2周内 收录检索&#xff1a;EI,Scopus 会议简介 JCICE 2022、JCICE 2023、JCICE 2…

【Linux】Linux 操作系统 - 03 ,初步指令结尾 + shell 理解

文章目录 前言一、打包和压缩二、有关体系结构 (考)面试题 三、重要的热键四、shell 命令及运行原理初步理解五、本节命令总结总结 前言 本篇文章 , 笔者记录的笔记内容包含 : 基础指令 、重要热键 、shell 初步理解 、权限用户的部分问题 。 内容皆是重要知识点 , 需要认真理…

Python: sqlite3.OperationalError: no such table: ***解析

出现该错误说明数据库中没有成功创建 reviews 表。以下是完整的解决方案: 步骤 1:创建数据库表 在插入数据前,必须先执行建表语句。请通过以下任一方式创建表: 方式一:使用 SQLite 命令行 bash 复制 # 进入 SQLite 命令行 sqlite3 reviews.db# 执行建表语句 CREATE T…

VSCode CLine 插件自定义配置使用 Claude 3.7 模型进行 AI 开发

一个互联网技术玩家&#xff0c;一个爱聊技术的家伙。在工作和学习中不断思考&#xff0c;把这些思考总结出来&#xff0c;并分享&#xff0c;和大家一起交流进步。 本文介绍如何在 Visual Studio Code (VSCode) 中安装和自定义配置 CLine 插件&#xff0c;并使用 Claude 3.7 模…

【VSCode配置】运行springboot项目和vue项目

目录 安装VSCode安装软件安装插件VSCode配置user的全局设置setting.jsonworkshop的项目自定义设置setting.jsonworkshop的项目启动配置launch.json 安装VSCode 官网下载 安装软件 git安装1.1.12版本&#xff0c;1.2.X高版本无法安装node14以下版本 nvm安装&#xff08;github…

linux shell编程之条件语句(二)

目录 一. 条件测试操作 1. 文件测试 2. 整数值比较 3. 字符串比较 4. 逻辑测试 二. if 条件语句 1. if 语句的结构 (1) 单分支 if 语句 (2) 双分支 if 语句 (3) 多分支 if 语句 2. if 语句应用示例 (1) 单分支 if 语句应用 (2) 双分支 if 语句应用 (3) 多分支 …

榕壹云在线商城系统:基于THinkPHP+ Mysql+UniApp全端适配、高效部署的电商解决方案

项目背景&#xff1a;解决多端电商开发的痛点 随着移动互联网的普及和用户购物习惯的碎片化&#xff0c;传统电商系统面临以下挑战&#xff1a; 1. 多平台适配成本高&#xff1a;需要同时开发App、小程序、H5等多端应用&#xff0c;重复开发导致资源浪费。 2. 技术依赖第三方…

神经动力学系统与计算及AI拓展

大脑&#xff0c;一个蕴藏在我们颅骨之内的宇宙&#xff0c;以活动脉动&#xff0c;如同由电信号和化学信号编织而成的交响乐&#xff0c;精巧地协调着思想、情感和行为。但是&#xff0c;这种复杂的神经元舞蹈是如何产生我们丰富多彩的精神生活的呢&#xff1f;这正是神经动力…

K8s常用基础管理命令(一)

基础管理命令 基础命令kubectl get命令kubectl create命令kubectl apply命令kubectl delete命令kubectl describe命令kubectl explain命令kubectl run命令kubectl cp命令kubectl edit命令kubectl logs命令kubectl exec命令kubectl port-forward命令kubectl patch命令 集群管理命…

本地化部署DeepSeek-R1蒸馏大模型:基于飞桨PaddleNLP 3.0的实战指南

目录 一、飞桨框架3.0&#xff1a;大模型推理新范式的开启1.1 自动并行机制革新&#xff1a;解放多卡推理1.2 推理-训练统一设计&#xff1a;一套代码全流程复用 二、本地部署DeepSeek-R1-Distill-Llama-8B的实战流程2.1 机器环境说明2.2 模型与推理脚本准备2.3 启动 Docker 容…

单片机方案开发 代写程序/烧录芯片 九齐/应广等 电动玩具 小家电 语音开发

在电子产品设计中&#xff0c;单片机&#xff08;MCU&#xff09;无疑是最重要的组成部分之一。无论是消费电子、智能家居、工业控制&#xff0c;还是可穿戴设备&#xff0c;小家电等&#xff0c;单片机的应用无处不在。 单片机&#xff0c;简而言之&#xff0c;就是将计算机…

【位运算】两整数之和

文章目录 371. 两整数之和解题思路&#xff1a;位运算 371. 两整数之和 371. 两整数之和 ​ 给你两个整数 a 和 b &#xff0c;不使用 运算符 和 - &#xff0c;计算并返回两整数之和。 示例 1&#xff1a; 输入&#xff1a;a 1, b 2 输出&#xff1a;3示例 2&#xff1…