我目前使用的是 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
我的解决方案是添加i386
archjammy-updates
到/etc/apt/sources.list
deb [arch=amd64,i386] http://tn.archive.ubuntu.com/ubuntu/ jammy-updates main restricted
然后运行
sudo apt --fix-broken install
并且它已修复。