如何修复损坏的 libc6 依赖项

如何修复损坏的 libc6 依赖项

我目前使用的是 Ubuntu 22.04 LTS。

当我运行 sudo apt-get upgrade 时收到以下错误:

以下软件包具有未满足的依赖关系:
 libcrypt1:依赖:libc6 (>= 2.25) 但尚未安装
 libgcc-s1:依赖:libc6 (>= 2.35) 但尚未安装
E:未满足的依赖关系。尝试不使用任何软件包的“apt --fix-broken install”(或指定解决方案)。

当我尝试 apt --fix-broken install 并手动安装 libc6 时,收到以下错误:

处理时遇到错误:
 /var/cache/apt/archives/libc6_2.35-0ubuntu3.1_amd64.deb
E: 子进程 /usr/bin/dpkg 返回错误代码 (1)

然后我按照在这个网站上找到的步骤针对该错误消息进行操作:

https://itsfoss.com/dpkg-returned-an-error-code-1/

这些步骤都无法解决我的问题。有没有办法修复这些损坏的软件包依赖关系?提前感谢您的帮助。

编辑:添加以下请求的输出。

sudo apt更新:

点击数:1 http://us.archive.ubuntu.com/ubuntu jammy InRelease
点击数:2 http://us.archive.ubuntu.com/ubuntu jammy-updates InRelease
获取:3 http://us.archive.ubuntu.com/ubuntu jammy-backports InRelease [108 kB]
点击数:4 http://security.ubuntu.com/ubuntu jammy-security InRelease                                                                   
点击数:5 https://ppa.launchpadcontent.net/danielrichter2007/grub-customizer/ubuntu jammy InRelease                                    
11 秒内获取 108 kB(10.2 kB/s)                                                                                                  
正在读取软件包列表...完成
构建依赖关系树...完成
正在读取状态信息...完成
所有软件包都是最新的。

apt 策略 libcrypt1:

libcrypt1:
  安装:1:4.4.27-1
  候选人:1:4.4.27-1
  版本表:
 *** 1:4.4.27-1 500
        500 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 软件包
        100 /var/lib/dpkg/状态

apt 策略 libgcc-s1:

libgcc-s1:
  安装:12.1.0-2ubuntu1~22.04
  候选:12.1.0-2ubuntu1~22.04
  版本表:
 *** 12.1.0-2ubuntu1~22.04 500
        500 http://us.archive.ubuntu.com/ubuntu jammy-updates/main amd64 软件包
        500 http://security.ubuntu.com/ubuntu jammy-security/main amd64 软件包
        100 /var/lib/dpkg/状态
     12-20220319-1ubuntu1 500
        500 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 软件包

apt 策略 libc6:

libc6:
  已安装:(无)
  候选版本:2.35-0ubuntu3.1
  版本表:
     2.35-0ubuntu3.1 500
        500 http://us.archive.ubuntu.com/ubuntu jammy-updates/main amd64 软件包
     2.35-0ubuntu3 500
        500 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 软件包

dpkg-l libc6:

期望=未知/安装/移除/清除/保留
| 状态=未/安装/Conf-文件/未打包/halF-conf/半安装/trig-aWait/Trig-pend
|/ 错误?=(无)/需要重新安装(状态,错误:大写=坏)
||/ 名称 版本 架构 描述
+++-==============-=============-=============-====================================
在 libc6:amd64 <none> amd64 中(无可用描述)

sudo apt 安装 libc6:i386:

正在读取软件包列表...完成
构建依赖关系树...完成
正在读取状态信息...完成
您可能需要运行“apt --fix-broken install”来纠正这些问题。
以下软件包具有未满足的依赖关系:
 libc6:i386 :依赖:libgcc-s1:i386 但是它将不会被安装
              依赖:libcrypt1:i386 (>= 1:4.4.10-10ubuntu4) 但是它将不会被安装
              推荐:libidn2-0:i386 (>= 2.0.5~) 但不会安装
              推荐:libnss-nis:i386 但不会安装
              推荐:libnss-nisplus:i386 但不会安装
 libcrypt1:依赖:libc6 (>= 2.25) 但是它将不会被安装
 libgcc-s1:依赖:libc6 (>= 2.35) 但是不会安装
埃:未满足的依赖关系。尝试不使用任何软件包的“apt --fix-broken install”(或指定解决方案)。

dpkg-S /lib/x86_64-linux-gnu/libc.so.6:

dpkg-查询: 警告:软件包‘libcrypt1:amd64’的文件列表文件缺失;假设软件包当前未安装任何文件
dpkg-查询: 警告:软件包‘libgcc-s1:amd64’的文件列表文件缺失;假设软件包当前未安装任何文件
dpkg-查询:未找到与模式 /lib/x86_64-linux-gun/libc.so.6 匹配的路径

答案1

我的解决方案最终是全新安装 Ubuntu 23.04。此时,它效率更高。我的 Windows、Ubuntu 和我的数据都在不同的驱动器上,因此不会丢失任何重要信息,并且设置 Ubuntu 既快速又简单。

答案2

我的解决方案是添加i386archjammy-updates/etc/apt/sources.list

deb [arch=amd64,i386] http://tn.archive.ubuntu.com/ubuntu/ jammy-updates main restricted

然后运行

sudo apt --fix-broken install

并且它已修复。

相关内容