可能用到的指令
当作查询用
# 查看内核
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 安装较低版本新内核
之前采取命令行直接下载的方式发现不行,会出现两个主要问题:
- 下载内核过程中可能报错
Error! Could not locate dkms.conf file.
File: does not exist.
可以在开机进入界面选择这个内核,但是无法进入,会一直卡在初始化内存盘的界面,须重启。
解决方法可参考此链接
- 解决之后进入发现没有网卡
本来决定重新下载网卡驱动,但却发现无法通过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 |
+-----------------------------------------------------------------------------+
成功!!!