(第二篇)Ubantu显卡驱动和内核的坑之——NVIDIA-SMI couldn't find libnvidia-ml.so library in your system.

1、问题描述

在第二台服务器遇到了第一次碰到的问题

Ubantu显卡驱动和库冲突的解决Failed to initialize NVML: Driver/library version mismatch的
https://www.cnblogs.com/yechangxin/articles/18577296

但在原来的步骤上,折腾折腾着,问题变成这样子了。

NVIDIA-SMI couldn't find libnvidia-ml.so library in your system. Please make sure that the NVIDIA Display Driver is properly installed and present in your system.
Please also try adding directory that contains libnvidia-ml.so to your system PATH.

image

2、参考资料

尝试一:失败
【解决 nvidia-smi 找不到 libnvidia-ml.so 库文件的问题】
https://blog.csdn.net/m0_63471305/article/details/139552655

3、解决

3.1 折腾1

sudo apt update && sudo apt upgrade

更新失败,报错

image

查看日志文件以获取更具体的错误原因(这个log和框框对应):

cat /var/lib/dkms/nvidia/550.120/build/make.log

image

确保内核头文件已安装
驱动模块需要内核头文件支持才能正确构建,运行以下命令安装:

sudo apt install linux-headers-$(uname -r)

这个时候还有报错,按照提示运行

sudo apt autoremove

image

remove后,nvidia-smi变了
-bash: /usr/bin/nvidia-smi: No such file or directory

image

3.2 折腾2

nvidia-smi 命令缺失通常意味着 NVIDIA 驱动未正确安装或安装路径出现问题。以下是逐步排查和解决问题的方法:

  1. 检查 NVIDIA 驱动是否安装
    确认是否安装了 NVIDIA 驱动包:
dpkg -l | grep nvidia

如果列表为空或显示部分安装,请重新安装驱动(参考下面的步骤)。

  1. 清理旧驱动
    先清理系统中的旧驱动,以避免冲突:
sudo apt remove --purge '^nvidia-.*'
sudo apt autoremove
sudo apt autoclean
  1. 重新安装 NVIDIA 驱动
    确认推荐的驱动版本:
ubuntu-drivers devices

自动安装推荐版本:

sudo ubuntu-drivers autoinstall

如果需要手动安装特定版本(例如 nvidia-driver-535):

sudo apt install nvidia-driver-535
  1. 验证驱动和工具的路径
    安装完成后,检查 nvidia-smi 的路径:
which nvidia-smi

image

但是又回到原来的报错

先进行重启

sudo reboot

image

还是老样子,又回到原来的错误
xuxinyi@user-Super-Server:~$ nvidia-smi
NVIDIA-SMI couldn't find libnvidia-ml.so library in your system. Please make sure that the NVIDIA Display Driver is properly installed and present in your system.
Please also try adding directory that contains libnvidia-ml.so to your system PATH.

3.3 折腾3

打算走笔记1,但是!~
xuxinyi@user-Super-Server:~$ sudo dkms install -m nvidia -v 550.120
Error! Could not locate dkms.conf file.
File: /usr/src/nvidia-550.120/dkms.conf does not exist.

这个错误表明在 nvidia-550.120 驱动目录下缺少 dkms.conf 文件。dkms 是一个动态内核模块支持框架,它允许你在内核更新时自动重新编译和安装内核模块。缺少 dkms.conf 文件通常意味着驱动没有正确安装或没有使用 DKMS 方式安装。

重新安装 NVIDIA 驱动

最简单的方法是使用适当的包管理工具重新安装 NVIDIA 驱动。可以使用 apt 命令安装驱动,确保安装时包含 DKMS 支持,这样可以避免这个问题。

首先,删除现有的 NVIDIA 驱动(如果有):

sudo apt remove --purge nvidia-*
sudo apt autoremove

然后,使用以下命令安装推荐的 NVIDIA 驱动(例如 nvidia-driver-530,请根据 ubuntu-drivers devices 输出的推荐版本调整):

sudo apt update
sudo apt install nvidia-driver-560

下载很慢,换源
linux常用命令笔记
https://www.cnblogs.com/yechangxin/articles/17279662.html

换源后还是不行,发现是要换ppa的清华源
下载速度非常慢是因为默认的 PPA 源服务器可能网络不佳或与本地连接延迟较高。可以尝试以下几种方法来提升下载速度:


方法 1: 更换下载源为国内镜像

修改 PPA 源,使用国内镜像,例如清华大学的 PPA 镜像。

替换 PPA 源

运行以下命令将 PPA 源替换为清华大学的镜像:

sudo sed -i 's|https://ppa.launchpad.net/graphics-drivers/ppa/ubuntu|https://mirrors.tuna.tsinghua.edu.cn/launchpad-ppa|g' /etc/apt/sources.list.d/*.list

更新软件包列表

sudo apt update

安装完成后,重启计算机:

sudo reboot
posted @ 2024-12-11 09:06  JaxonYe  阅读(134)  评论(0编辑  收藏  举报