apt/apt-get更新导致错误

apt/apt-get更新导致错误

编辑:

操作系统:Debian GNU/Linux 11(靶心)

Debian 版本:11.5

恰当的历史dpkg 历史


我尝试使用安装多个软件包dpkg somefile.deb,但由于缺乏互联网连接而存在依赖性问题,因此尚未完成。

现在我运行“apt update”或“apt-get update”,出现以下错误:

apt-get: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by /lib/x86_64-linux-gnu/libstdc++.so.6)
apt-get: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by /lib/x86_64-linux-gnu/libstdc++.so.6)
apt-get: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by /lib/x86_64-linux-gnu/libstdc++.so.6)

答案1

罪魁祸首是libstdc++6升级到 Debian testing/sid 的软件包,导致apt-getC++ 应用程序无法再工作。

2022-10-18 10:37:01 upgrade libstdc++6:amd64 10.2.1-6 12.2.0-5
2022-10-18 10:37:01 status triggers-pending libc-bin:amd64 2.31-13+deb11u4
2022-10-18 10:37:01 status half-configured libstdc++6:amd64 10.2.1-6
2022-10-18 10:37:01 status unpacked libstdc++6:amd64 10.2.1-6
2022-10-18 10:37:01 status half-installed libstdc++6:amd64 10.2.1-6
2022-10-18 10:37:01 status unpacked libstdc++6:amd64 12.2.0-5

apt-get不再可用,但它留下了dpkg一个 C 应用程序,因此不受影响,以解决问题。

因此,恢复您尝试安装的不适合 Debian 11 的内容:很可能lokinet-bin(其后缀表明它不适用于 Debian 11,而是未来的 Debian 12)。

dpkg --purge lokinet-bin

从带外信息下载正确的libstdc++6包。在任何其他功能性的Debian 11 系统这可以工作:

apt-get --print-uris download libstdc++6

例如可以返回(今天):

'http://ftp.us.debian.org/debian/pool/main/g/gcc-10/libstdc%2b%2b6_10.2.1-6_amd64.deb' libstdc++6_10.2.1-6_amd64.deb 492540 SHA256:5c155c58935870bf3b4bfe769116841c0d286a74f59eccfd5645693ac23f06b1

然后可以从任何镜像(包括上面的镜像)下载该镜像,或者从其他系统下载然后传输,或者如果有可用的下载工具,则直接在损坏的系统上下载:

curl -JRLO 'http://ftp.us.debian.org/debian/pool/main/g/gcc-10/libstdc%2b%2b6_10.2.1-6_amd64.deb'

并与上面的校验和进行比较:

$ sha256sum libstdc%2b%2b6_10.2.1-6_amd64.deb
5c155c58935870bf3b4bfe769116841c0d286a74f59eccfd5645693ac23f06b1  libstdc%2b%2b6_10.2.1-6_amd64.deb

校验和匹配。

您还可以通过以下链接获取它:https://packages.debian.org/bullseye/libstdc++6或来自https://snapshot.debian.org/

最后将其安装到损坏的系统上的有问题的版本上:

dpkg -i libstdc%2b%2b6_10.2.1-6_amd64.deb

apt-get现在应该可以使用了。

在再次尝试您尝试过的操作之前,请查看此 Debian wiki:不要破坏Debian尤其是不要制作 FrankenDebian,因为这正是本例中发生的情况。

相关内容