首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >apt/apt-获取更新会导致错误

apt/apt-获取更新会导致错误
EN

Unix & Linux用户
提问于 2022-10-19 11:19:54
回答 1查看 658关注 0票数 1

编辑:

操作系统: Debian GNU/Linux 11 (斗牛眼) Debian版本: 11.5

apt历史dpkg历史

我试图使用dpkg somefile.deb安装多个软件包,但由于缺乏internet连接,它还没有完成,因为存在依赖问题。

现在我运行了'apt更新‘或’apt-获取更新‘,我得到了以下错误:

代码语言:javascript
复制
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)
EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2022-10-20 12:38:27

罪魁祸首是包libstdc++6,它被升级到Debian测试/sid,阻止了apt-get (一个C++应用程序)继续工作。

2022-10-18 10:01升级libstdc++6:amd64 10.2.1-6 12.2.0-5 2022-18 10:37:01状态触发器未决libc-bin:bin 64 2.31-13+de11u 4 2022-10-18 :37:01状态半配置libstdc++6:amd64 10.2.1-6 2022-10-18 10:37:01 libstdc++6:amd64 10.2.1-6 2022-10-18 10:37:01状态半安装libstdc++6:amd64 10.2.1 -6 2022-10-18 10:37:01-6 2022-10-18 10:37:01 libstdc++6:amd64 12.2.0-5

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

因此,恢复您试图安装的不是Debian 11的内容:很可能是lokinet-bin (它的后缀确实表明它不是针对Debian 11的,而是未来的Debian 12)。

代码语言:javascript
复制
dpkg --purge lokinet-bin

从带外信息下载正确的libstdc++6包.在任何其他功能Debian 11系统上,这都是可行的:

代码语言:javascript
复制
apt-get --print-uris download libstdc++6

例如,它可以返回(今天):

代码语言:javascript
复制
'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

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

代码语言:javascript
复制
curl -JRLO 'http://ftp.us.debian.org/debian/pool/main/g/gcc-10/libstdc%2b%2b6_10.2.1-6_amd64.deb'

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

代码语言:javascript
复制
$ 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++6https://snapshot.debian.org/上获得以下链接

最后,将其安装在损坏的系统上的违规版本上:

代码语言:javascript
复制
dpkg -i libstdc%2b%2b6_10.2.1-6_amd64.deb

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

在再次尝试之前,请先看看这个Debian:DontBreakDebian,特别是别做FrankenDebian,因为这正是在本例中发生的情况。

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/721595

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档