1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
$ 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) |
解决方案如下:
1 2 3 4 5 |
# 解除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...