bookworm 中 libc6 软件包的 apt 依赖问题

问题描述 投票:0回答:1

在尝试更新书虫系统时,遇到以下问题:

apt upgrade
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies:
 libc6-dbg : Depends: libc6 (= 2.36-9+deb12u6) but 2.36-9+deb12u4 is installed
 libc6-dev : Depends: libc6 (= 2.36-9+deb12u6) but 2.36-9+deb12u4 is installed
 libc6-i386 : Depends: libc6 (= 2.36-9+deb12u6) but 2.36-9+deb12u4 is installed
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).

尝试解决此问题导致:

apt --fix-broken install

(省略更多文字)

Preconfiguring packages ...
(Reading database ... 188404 files and directories currently installed.)
Preparing to unpack .../libc6_2.36-9+deb12u6_amd64.deb ...
Unpacking libc6:amd64 (2.36-9+deb12u6) over (2.36-9+deb12u4) ...
dpkg: error processing archive /var/cache/apt/archives/libc6_2.36-9+deb12u6_amd64.deb (--unpack):
 trying to overwrite '/lib64/ld-linux-x86-64.so.2', which is also in package libc-bin 2.36-9+deb12u4
Errors were encountered while processing:
 /var/cache/apt/archives/libc6_2.36-9+deb12u6_amd64.deb
needrestart is being skipped since dpkg has failed
E: Sub-process /usr/bin/dpkg returned an error code (1)

通常我会删除有问题的文件,但我有点犹豫是否删除这个 Debian 系统的动态加载程序,因为由于动态加载程序无法启动任何程序,因此即将重新安装硬编码在可执行文件的 ELF 二进制文件中。

`apt remove libc-bin`

导致了与上述相同的依赖错误。不用说,这种情况使我无法进行任何升级,更不用说软件包安装了。

感谢任何指点,非常乐意根据需要提供更多信息。

apt debian-bookworm
1个回答
0
投票

事实证明解决方案非常简单:由于某种原因(包损坏?)两个包(libc6 和 libc-bin 都包含指向

/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2
的符号链接)。

当 dpkg 检查任何包含的符号链接的目标时,只需修改包文件列表(即删除此符号链接)即可解决问题。从

lib64/ld-linux-x86-64.so.2
中删除
/var/lib/dpkg/info/libc-bin.list
行后,
apt --fix-broken install
很高兴完成其工作,并且可以进行全面的分布式升级。

我认为这种方法也适用于表现出相同根本原因的类似问题。

© www.soinside.com 2019 - 2024. All rights reserved.