无法升级 NVidia 软件包
Posted
技术标签:
【中文标题】无法升级 NVidia 软件包【英文标题】:Can't upgrade NVidia packages 【发布时间】:2020-09-30 03:21:15 【问题描述】:我想将我的 Ubuntu 从 19.04 升级到 20.04,但在我更新所有软件包之前这是不可能的。
❯ sudo do-release-upgrade
Checking for a new Ubuntu release
Your Ubuntu release is not supported anymore.
For upgrade information, please visit:
http://www.ubuntu.com/releaseendoflife
Please install all available updates for your release before upgrading.
所以,我正在尝试更新我的包:
❯ sudo apt update
Get:1 file:/var/cuda-repo-10-0-local-10.0.130-410.48 InRelease
Ign:1 file:/var/cuda-repo-10-0-local-10.0.130-410.48 InRelease
Get:2 file:/var/cuda-repo-10-0-local-10.0.130-410.48 Release [574 B]
Get:2 file:/var/cuda-repo-10-0-local-10.0.130-410.48 Release [574 B]
Hit:3 http://repo.yandex.ru/yandex-disk/deb stable InRelease
Hit:5 http://linux.teamviewer.com/deb stable InRelease
Hit:6 http://old-releases.ubuntu.com/ubuntu disco InRelease
Hit:7 http://ppa.launchpad.net/gophers/archive/ubuntu disco InRelease
Hit:8 http://old-releases.ubuntu.com/ubuntu disco-updates InRelease
Hit:9 http://dl.google.com/linux/chrome/deb stable InRelease
Hit:10 https://dl.yarnpkg.com/debian stable InRelease
Hit:11 https://storage.googleapis.com/bazel-apt stable InRelease
Hit:12 http://old-releases.ubuntu.com/ubuntu disco-backports InRelease
Hit:13 https://download.mono-project.com/repo/ubuntu vs-bionic InRelease
Hit:14 http://ppa.launchpad.net/graphics-drivers/ppa/ubuntu disco InRelease
Hit:15 http://old-releases.ubuntu.com/ubuntu disco-security InRelease
Ign:16 http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64 InRelease
Hit:17 http://ppa.launchpad.net/linrunner/tlp/ubuntu disco InRelease
Hit:18 https://packages.microsoft.com/ubuntu/16.04/mssql-server-2019 xenial InRelease
Ign:19 http://linux.dropbox.com/ubuntu disco InRelease
Hit:20 https://packages.microsoft.com/ubuntu/16.04/mssql-server-2017 xenial InRelease
Hit:21 http://linux.dropbox.com/ubuntu disco Release
Ign:22 http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64 InRelease
Hit:23 http://ppa.launchpad.net/linuxuprising/apps/ubuntu disco InRelease
Hit:24 https://packages.microsoft.com/ubuntu/19.04/prod disco InRelease
Hit:25 http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64 Release
Hit:26 http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64 Release
Hit:27 http://ppa.launchpad.net/longsleep/golang-backports/ubuntu disco InRelease
Hit:28 http://ppa.launchpad.net/lyzardking/ubuntu-make/ubuntu disco InRelease
Hit:29 http://ppa.launchpad.net/obsproject/obs-studio/ubuntu disco InRelease
Hit:30 http://ppa.launchpad.net/peek-developers/stable/ubuntu disco InRelease
Hit:31 http://ppa.launchpad.net/webupd8team/java/ubuntu disco InRelease
Reading package lists... Done
Building dependency tree
Reading state information... Done
4 packages can be upgraded. Run 'apt list --upgradable' to see them.
它说我可以升级其中的 4 个。让我们看看它们是什么。
❯ apt list --upgradable
Listing... Done
cuda-drivers/unknown 450.36.06-1 amd64 [upgradable from: 418.87.01-1]
cuda/unknown 11.0.1-1 amd64 [upgradable from: 10.1.243-1]
libnvidia-common-450/unknown 450.36.06-0ubuntu1 all [upgradable from: 450.36.06-0ubuntu1]
libxnvctrl0/unknown 450.36.06-0ubuntu1 amd64 [upgradable from: 450.36.06-0ubuntu1]
让我们升级它们。
❯ sudo apt upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages were automatically installed and are no longer required:
cuda-command-line-tools-11-0 cuda-compiler-11-0 cuda-cudart-11-0 cuda-cudart-dev-11-0 cuda-cuobjdump-11-0 cuda-cupti-11-0 cuda-cupti-dev-11-0 cuda-documentation-11-0
cuda-driver-dev-11-0 cuda-gdb-11-0 cuda-libraries-11-0 cuda-libraries-dev-11-0 cuda-memcheck-11-0 cuda-nsight-11-0 cuda-nsight-compute-11-0 cuda-nsight-systems-11-0 cuda-nvcc-11-0
cuda-nvdisasm-11-0 cuda-nvml-dev-11-0 cuda-nvprof-11-0 cuda-nvprune-11-0 cuda-nvrtc-11-0 cuda-nvrtc-dev-11-0 cuda-nvtx-11-0 cuda-nvvp-11-0 cuda-samples-11-0 cuda-sanitizer-11-0
cuda-toolkit-11-0 cuda-tools-11-0 cuda-visual-tools-11-0 golang-1.13-go golang-1.13-src golang-src libcublas-11-0 libcublas-dev-11-0 libcufft-11-0 libcufft-dev-11-0 libcurand-11-0
libcurand-dev-11-0 libcusolver-11-0 libcusolver-dev-11-0 libcusparse-11-0 libcusparse-dev-11-0 libnpp-11-0 libnpp-dev-11-0 libnvidia-common-450 libnvjpeg-11-0 libnvjpeg-dev-11-0
Use 'sudo apt autoremove' to remove them.
The following packages have been kept back:
cuda cuda-drivers
The following packages will be upgraded:
libnvidia-common-450 libxnvctrl0
2 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.
Need to get 0 B/31.4 kB of archives.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] y
(Reading database ... 354920 files and directories currently installed.)
Preparing to unpack .../libnvidia-common-450_450.36.06-0ubuntu1_all.deb ...
Checking for existing driver runfile install
/var/lib/dpkg/tmp.ci/preinst: 6: /var/lib/dpkg/tmp.ci/preinst: [[: not found
Unpacking libnvidia-common-450 (450.36.06-0ubuntu1) over (450.36.06-0ubuntu1) ...
Preparing to unpack .../libxnvctrl0_450.36.06-0ubuntu1_amd64.deb ...
Unpacking libxnvctrl0:amd64 (450.36.06-0ubuntu1) over (450.36.06-0ubuntu1) ...
Setting up libnvidia-common-450 (450.36.06-0ubuntu1) ...
Setting up libxnvctrl0:amd64 (450.36.06-0ubuntu1) ...
Processing triggers for libc-bin (2.29-0ubuntu2) ...
问题是它们没有升级。
❯ apt list --upgradable
Listing... Done
cuda-drivers/unknown 450.36.06-1 amd64 [upgradable from: 418.87.01-1]
cuda/unknown 11.0.1-1 amd64 [upgradable from: 10.1.243-1]
libnvidia-common-450/unknown 450.36.06-0ubuntu1 all [upgradable from: 450.36.06-0ubuntu1]
libxnvctrl0/unknown 450.36.06-0ubuntu1 amd64 [upgradable from: 450.36.06-0ubuntu1]
我做错了吗?可能是我不明白为什么我不能从 Ubuntu 19.04 迁移到 Ubuntu 20.04 的真正原因。有任何想法吗?
【问题讨论】:
在 unix 和 linux 社区上提问,或者如果您使用 ubunut,然后在 ask ubuntu 上发帖 【参考方案1】:我在 Ubuntu 20.04 上尝试升级我的 cuda
时遇到了同样的问题。
sudo apt upgrade
只会添加升级/添加包,绝不会删除包。
但是,升级 cuda 通常需要删除一堆旧的 nvidia 驱动程序包并用新的包替换它们。
sudo apt full-upgrade
可以在需要更新包时删除包:
full-upgrade
(apt-get(8))full-upgrade 执行升级功能,但如果需要将当前安装的包作为一个整体升级系统,则会删除。
(来自man apt
https://manpages.ubuntu.com/manpages/focal/man8/apt.8.html)
不幸的是,至少对于 apt 版本 2.0.5,sudo apt full-upgrade
仍然不想更新 cuda
。
Debian buster upgrade notes 建议当apt full-upgrade
不起作用时,您应该在受影响的包上手动运行install
:sudo apt install cuda
,或者使用aptitude
更强大的包解析算法:
我可以确认使用 sudo aptitude full-upgrade
或 sudo apt install cuda
都有效,请参阅以下输出(为简洁起见进行了编辑)
使用 apt install cuda
❯ sudo apt install cuda
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
cuda-11-2 cuda-command-line-tools-11-2 ...
Use 'sudo apt autoremove' to remove them.
The following additional packages will be installed:
cuda-11-3 cuda-command-line-tools-11-3 ...
The following packages will be REMOVED
cuda-drivers-460 libnvidia-cfg1-460 ...
The following NEW packages will be installed
cuda-11-3 cuda-command-line-tools-11-3 ...
The following packages will be upgraded:
cuda cuda-drivers
2 to upgrade, 68 to newly install, 16 to remove and 0 not to upgrade.
Need to get 2,248 MB of archives.
After this operation, 4,603 MB of additional disk space will be used.
Do you want to continue? [Y/n]
使用 aptitude 全面升级
aptitude
默认没有安装,所以你可能需要先运行sudo apt install aptitude
来安装它。请记住,虽然full-upgrade
通常是安全的,但由于它确实会删除软件包,因此它偶尔会破坏系统中的内容。
❯ sudo aptitude full-upgrade
The following NEW packages will be installed:
cuda-11-3a cuda-command-line-tools-11-3a ...
The following packages will be REMOVED:
cuda-11-2u cuda-command-line-tools-11-2u ...
The following packages will be upgraded:
cuda cuda-drivers ...
2 packages upgraded, 68 newly installed, 65 to remove and 0 not upgraded.
Need to get 2,248 MB of archives. After unpacking 16.5 MB will be freed.
The following packages have unmet dependencies:
libnvidia-compute-460 : Conflicts: libcuda-10.0-1 which is a virtual package, provided by: ...
libnvidia-compute-465 : Conflicts: libcuda-10.0-1 which is a virtual package, provided by: ...
The following actions will resolve these dependencies:
Remove the following packages:
1) libnvidia-compute-460 [460.32.03-0ubuntu1 (<NULL>, now)]
Accept this solution? [Y/n/q/?]
【讨论】:
以上是关于无法升级 NVidia 软件包的主要内容,如果未能解决你的问题,请参考以下文章
DJI Manifold 2(在 nvidia jetson tx2 上运行)USB 设备在使用 Ubuntu 的软件更新更新后无法工作
NVIDIA GeForce Experience怎么才能跳过更新