ubuntu 18.04 "nvidia-340 导致 /usr/lib/x86_64-linux-gnu/libGL.so.1 转移到 /usr/lib/x86_64-linux-gnu/libGL.so.1.distrib"

$ sudo apt-get install cuda
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
cuda 已经是最新版 (10.1.243-1)。
您也许需要运行“apt --fix-broken install”来修正上面的错误。
下列软件包有未满足的依赖关系:
cuda-drivers : 依赖: libnvidia-gl-418 (>= 418.87.00) 但是它将不会被安装
libnvidia-ifr1-418 : 依赖: libnvidia-gl-418 但是它将不会被安装
nvidia-driver-418 : 依赖: libnvidia-gl-418 (= 418.87.00-0ubuntu1) 但是它将不会被安装
推荐: libnvidia-compute-418:i386 (= 418.87.00-0ubuntu1)
推荐: libnvidia-decode-418:i386 (= 418.87.00-0ubuntu1)
推荐: libnvidia-encode-418:i386 (= 418.87.00-0ubuntu1)
推荐: libnvidia-ifr1-418:i386 (= 418.87.00-0ubuntu1)
推荐: libnvidia-fbc1-418:i386 (= 418.87.00-0ubuntu1)
推荐: libnvidia-gl-418:i386 (= 418.87.00-0ubuntu1)
E: 有未能满足的依赖关系。请尝试不指明软件包的名字来运行“apt --fix-broken install”(也可以指定一个解决办法)。

$ sudo apt --fix-broken install
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
正在修复依赖关系... 完成
下列软件包是自动安装的并且现在不需要了:
lib32gcc1 libc6-i386
使用'sudo apt autoremove'来卸载它(它们)。
将会同时安装下列软件:
libnvidia-gl-418
下列【新】软件包将被安装:
libnvidia-gl-418
升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。
有 68 个软件包没有被完全安装或卸载。
需要下载 0 B/32.2 MB 的归档。
解压缩后会消耗 164 MB 的额外空间。
您希望继续执行吗? [Y/n]
获取:1 file:/var/cuda-repo-10-1-local-10.1.243-418.87.00 libnvidia-gl-418 418.87.00-0ubuntu1 [32.2 MB]
(正在读取数据库 ... 系统当前共安装有 293566 个文件和目录。)
正准备解包 .../libnvidia-gl-418_418.87.00-0ubuntu1_amd64.deb ...
dpkg-query: 没有找到与 libnvidia-gl-410 相匹配的软件包
nvidia-340 导致 /usr/lib/x86_64-linux-gnu/libGL.so.1 转移到 /usr/lib/x86_64-linux-gnu/libGL.so.1.distrib
dpkg-divert: 错误: 删除 被 libnvidia-gl-418 转移的 /usr/lib/x86_64-linux-gnu/libGL.so.1 时
软件包名不匹配
发现了 nvidia-340 导致 /usr/lib/x86_64-linux-gnu/libGL.so.1 转移到 /usr/lib/x86_64-linux-gnu/libGL.so.1.distrib
dpkg: 处理归档 /var/cuda-repo-10-1-local-10.1.243-418.87.00/./libnvidia-gl-418_418.87.00-0ubuntu1_amd64.deb (--unpack)时出错:
new libnvidia-gl-418:amd64 package pre-installation script subprocess returned error exit status 2
在处理时有错误发生:
/var/cuda-repo-10-1-local-10.1.243-418.87.00/./libnvidia-gl-418_418.87.00-0ubuntu1_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

解决方案如下:

# 解除nvidia 340全部依赖

$ LC_MESSAGES=C dpkg-divert --list '*nvidia-340*' | sed -nre 's/^diversion of (.*) to .*/\1/p' | xargs -rd'\n' -n1 -- sudo dpkg-divert --remove

$ dpkg-divert --package nvidia-340 --remove /usr/lib/i386-linux-gnu/libGL.so.1

参考链接


发现了 nvidia-340 导致 /usr/lib/i386-linux-gnu/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so.1.distrib...

发布者

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注