可能用到的指令

当作查询用

# 查看内核
root@node01:/home/user# dpkg --get-selections |grep linux-image

# 可用于删除一些删不掉的内核文件,系统会提示
root@node01:/home/user# sudo apt autoremove

# 删除指定内核
root@node01:/home/user# sudo apt purge linux-image-4.15.0-72-generic

# 解决dpkg出现的问题
root@node01:/home/user# cd /var/lib/dpkg/
root@node01:/home/user# sudo mv info info.bak
root@node01:/home/user# sudo mkdir info
root@node01:/home/user# sudo apt-get update
root@node01:/home/user# sudo apt-get -f install
root@node01:/home/user# sudo mv ./info/* ./info.bak
root@node01:/home/user# sudo rm -r info
root@node01:/home/user# sudo mv info.bak info

# 解决dkms出现的问题
root@node01:/home/user# for i in /var/lib/dkms/*/[^k]*/source; do [ -e "$i" ] || echo "$i";done
root@node01:/home/user# rm -rf /var/lib/dkms/nvidia/srv-510.47.03/source

# 修改内核启动顺序(暂时无效)
root@node01:/home/user# vim /etc/default/grub
root@node01:/home/user# update-grub

# 查看内核启动顺序
root@node01:/home/user# grep menuentry /boot/grub/grub.cfg

# 安装文件夹内所有安装包
root@node01:/home/user# sudo dpkg -i linux*

# 查看是否本机支持nvidia驱动
root@node01:/home/user# lspci | grep NVIDIA

# 查看本机推荐安装的驱动
root@node01:/home/user# ubuntu-drivers devices

# 自动安装推荐的最新版本驱动
root@node01:/home/user# sudo ubuntu-drivers autoinstall

# 查看驱动信息
root@node01:/home/user# nvidia-smi

# 查看系统内核
root@node01:/home/user# uname -r

0 前言

因实验需要tensorflow的GPU环境,因此需要英伟达显卡。
使用nvidia-smi指令查询显示无法communicate到GPU。
后面查资料发现是ubuntu内核版本太高,连最高版本的nvidia显卡都没法适配。(尝试过安装低版本的驱动也不行)

这个过程中可能出现以下问题:

1 下载nvidia驱动的过程中可能会导致电脑重启

我也不知道为啥,重启就好了。

2 重启后删除时会出现以下错误

在这里插入图片描述
但实际上按信息执行也不行,得采用以下两句指令:

sudo rm /var/lib/dpkg/updates/*
sudo apt-get update

所以,最后我决定安装一个较低版本的新内核。

1 安装较低版本新内核

之前采取命令行直接下载的方式发现不行,会出现两个主要问题:

  1. 下载内核过程中可能报错
Error! Could not locate dkms.conf file.
File: does not exist.

可以在开机进入界面选择这个内核,但是无法进入,会一直卡在初始化内存盘的界面,须重启。
解决方法可参考此链接

  1. 解决之后进入发现没有网卡
    本来决定重新下载网卡驱动,但却发现无法通过usb使用手机热点。

可能出现以下问题

dpkg: 处理软件包 linux-image-4.15.0-33-generic (--configure)时出错:
子进程 已安装 post-installation 脚本 返回错误状态 1
在处理时有错误发生:
linux-image-4.15.0-33-generic
E: Sub-process /usr/bin/dpkg returned an error code (1)

参考此文章解决

2 更新内核

此内核已经无用,决定重新换一种方式安装内核。
主要根据此篇文章进行

查询后得知ubuntu18.04 LTS 稳定的内核是4.15版本,因此打算在官网下载内核安装包。
在这里插入图片描述
本篇文章选择这个版本v4.15/,下载里边的三个deb安装包(画红线):
在这里插入图片描述
注:4.18版本之后需要下载4个安装包
在这里插入图片描述

# 安装文件夹内所有安装包
sudo dpkg -i linux*
# 更改配置
vim /etc/default/grub

在这里插入图片描述

# 更新grub文件使之生效
update-grub
# 查看存在的内核
root@node01:/home/user# dpkg --get-selections |grep linux-image
	linux-image-4.15.0-041500-generic		install
	linux-image-5.4.0-77-generic			install
	linux-image-generic-hwe-18.04			install

# 重启
reboot

选择4.15.0-041500-generic内核进入

# 查看内核,发现成功
root@node01:/home/user# uname -r
	4.15.0-041500-generic

网卡也成功显示,最终内核安装成功!!

3 设置默认启动内核

按网上修改/etc/default/grub的方法不起作用
在这里插入图片描述
可能是由于双系统,不偷懒了,不折腾。

4 安装nvidia驱动

# 查看可安装驱动
root@node01:/home/user# ubuntu-drivers devices
# 先更新一下,不知道有没有用,可不做
root@node01:/home/user# sudo apt-get update
# 自动安装,会安装推荐的最新版本驱动
root@node01:/home/user# sudo ubuntu-drivers autoinstall
	正在读取软件包列表... 完成
	正在分析软件包的依赖关系树       
	正在读取状态信息... 完成       
	下列软件包是自动安装的并且现在不需要了:
	  linux-modules-4.15.0-55-generic
	使用'sudo apt autoremove'来卸载它(它们)。
	将会同时安装下列软件:
	  nvidia-compute-utils-510-server nvidia-dkms-510-server nvidia-kernel-common-510-server nvidia-kernel-source-510-server nvidia-utils-510-server
	建议安装:
	  nvidia-settings nvidia-prime
	下列【新】软件包将被安装:
	  nvidia-compute-utils-510-server nvidia-dkms-510-server nvidia-driver-510-server nvidia-kernel-common-510-server nvidia-kernel-source-510-server
	  nvidia-utils-510-server
	升级了 0 个软件包,新安装了 6 个软件包,要卸载 0 个软件包,有 200 个软件包未被升级。
	需要下载 0 B/50.9 MB 的归档。
	解压缩后会消耗 98.3 MB 的额外空间。
	正在选中未选择的软件包 nvidia-compute-utils-510-server。
	(正在读取数据库 ... 系统当前共安装有 213019 个文件和目录。)
	正准备解包 .../0-nvidia-compute-utils-510-server_510.47.03-0ubuntu0.18.04.1_amd64.deb  ...
	正在解包 nvidia-compute-utils-510-server (510.47.03-0ubuntu0.18.04.1) ...
	正在选中未选择的软件包 nvidia-kernel-source-510-server。
	正准备解包 .../1-nvidia-kernel-source-510-server_510.47.03-0ubuntu0.18.04.1_amd64.deb  ...
	正在解包 nvidia-kernel-source-510-server (510.47.03-0ubuntu0.18.04.1) ...
	正在选中未选择的软件包 nvidia-kernel-common-510-server。
	正准备解包 .../2-nvidia-kernel-common-510-server_510.47.03-0ubuntu0.18.04.1_amd64.deb  ...
......
# 查看驱动信息
root@node01:/home/user# nvidia-smi
	Fri Mar 25 10:01:50 2022       
	+-----------------------------------------------------------------------------+
	| NVIDIA-SMI 510.47.03    Driver Version: 510.47.03    CUDA Version: 11.6     |
	|-------------------------------+----------------------+----------------------+
	| 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 ...  Off  | 00000000:68:00.0 Off |                  N/A |
	| 19%   42C    P0    57W / 250W |      0MiB / 11264MiB |      2%      Default |
	|                               |                      |                  N/A |
	+-------------------------------+----------------------+----------------------+
	                                                                               
	+-----------------------------------------------------------------------------+
	| Processes:                                                                  |
	|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
	|        ID   ID                                                   Usage      |
	|=============================================================================|
	|  No running processes found                                                 |
	+-----------------------------------------------------------------------------+

成功!!!

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐