当我跑步时sudo apt-get upgrade
:
libc6-i386:dependency: libc6 (= 2.17-93) but 2.17-92+b1 have been installed;
因此dpkg
会出现错误并且所有更新无法继续。
如果我尝试sudo apt-get -f install
:
A copy of the C library was found in an unexpected directory:
'/lib/x86_64-linux-gnu/libc-2.17.so'
It is not safe to upgrade the C library in this situation;
please remove that copy of the C library or get it out of
'/lib/x86_64-linux-gnu' and try again.
dpkg: error processing /var/cache/apt/archives/libc6_2.17-93_amd64.deb (--unpack):
我已经打开了多架构支持。这是 libc6-i386 的问题。有人以前见过这个问题吗?我应该怎么办?
我搜索了一些涉及 chroot 方式的解决方案,有点复杂。我还检查了 debian 的 bug 列表。好像很久以前就有人报告过同样的问题。
答案1
警告:这个建议可能很危险。保留备份,并准备好启动 CD。
这件事很久以前就发生在我身上了。我记得手动编辑这个文件:
/var/lib/dpkg/info/libc6:i386.preinst
搜索错误消息“在这种情况下升级 C 库是不安全的”。删除该块中的命令 exit -1。请注意,此检查在 4 个位置完成。您也许应该删除所有这些位置。
此外,每次运行 apt-get Upgrade 时都会替换此文件,因此请制作一个副本,并在安装过程开始后,将副本放在 /var/lib/dpkg/info/ 中的文件上。这可能需要一些尝试和错误。