Ubuntu 18.04 更新因 Nvidia 340 驱动程序问题而受到阻止“试图覆盖包中的文件”

Ubuntu 18.04 更新因 Nvidia 340 驱动程序问题而受到阻止“试图覆盖包中的文件”

我的问题是由 Nvidia 340 驱动程序中一个已注册的错误引起的,该错误会安装冲突的库,这些都众所周知,但结果如下。遗憾的是,由于我没有注意到问题的进展并试图修复它,根本原因现在被淹没在噪音中!

任何更新或修复的尝试都会出现如下结果:

(Reading database ... 295094 files and directories currently installed.)
Preparing to unpack .../libgles1_1.0.0-2ubuntu2.2_i386.deb ...
Unpacking libgles1:i386 (1.0.0-2ubuntu2.2) ...
dpkg: error processing archive /var/cache/apt/archives/libgles1_1.0.0-2ubuntu2.2_i386.deb (--unpack):
 trying to overwrite '/usr/lib/i386-linux-gnu/libGLESv1_CM.so.1', which is also in package nvidia-340 340.106-0ubuntu3
Preparing to unpack .../libglvnd-dev_1.0.0-2ubuntu2.2_i386.deb ...
Unpacking libglvnd-dev:i386 (1.0.0-2ubuntu2.2) ...

dpkg: error processing archive /var/cache/apt/archives/libglvnd-dev_1.0.0-2ubuntu2.2_i386.deb (--unpack):
 trying to overwrite '/usr/lib/i386-linux-gnu/libGLESv1_CM.so', which is also in package nvidia-340 340.106-0ubuntu3
Errors were encountered while processing:
 /var/cache/apt/archives/libgles1_1.0.0-2ubuntu2.2_i386.deb
 /var/cache/apt/archives/libglvnd-dev_1.0.0-2ubuntu2.2_i386.deb

我该如何打破这个瓶颈并再次更新我的系统?

我努力了:

sudo apt --fix-broken install
sudo apt-get purge nvidia*

我可以安全地删除某些内容以释放进程吗?例如,下面的软件包或上面的档案似乎导致了当前的问题。如果我可以删除它们,我该怎么做?

The following packages have unmet dependencies.

 libegl1-mesa-dev : Depends: libglvnd-dev but it is not going to be installed
 libgl1-mesa-dev : Depends: libglvnd-dev but it is not going to be installed
 libgles2-mesa-dev : Depends: libglvnd-dev but it is not going to be installed

我找到了其他强制覆盖有问题的库的答案,但它们充满了潜在的麻烦并且没有直接解决问题的根源,发布的更新修复了问题而不是症状,下面的答案实现了该更新。

答案1

于是我回过头来查看这个 bug,并阅读了后续的评论,最终找到了一个似乎知道自己在做什么的人,但他正在安装建议的候选版本。我按照他/她的指示做了同样的事情,但放弃了候选版本,结果它成功了。它在这里:

sudo apt download nvidia-340
sudo dpkg -i nvidia-340_340.107-0ubuntu0.18.04.1_i386.deb 

(您可以输入nvidia-340_340然后点击tab完成)

sudo apt-get install -f
sudo apt update
sudo apt upgrade

最后一点只是常识,但是为了完整性。如果您遵循此操作,请不要输入完整文件名,因为它可能已更新。我的机器现在恢复正常了,谢谢。

相关内容