更新至 20.10 失败,现在由于软件包版本与 libc-bin 和 libc6:i386 / libc6:amd64 不匹配而无法更新

更新至 20.10 失败,现在由于软件包版本与 libc-bin 和 libc6:i386 / libc6:amd64 不匹配而无法更新

我使用的是 Pop OS,它与 Ubuntu 非常相似。几天前,我尝试按照以下说明将我的工作站从 Pop OS 20.04 更新到 2010System 76 的网站通过运行

sudo apt update
sudo apt full-upgrade

然后进入 OS 升级,下载 20.10,然后重启。版本与 20.04 没什么变化。我很忙,所以暂时把它搁置了。

我尝试通过 Pop Shop 更新我的软件并收到此错误:

The following packages have unmet dependencies:
  locales: Depends: libc-bin (> 2.32)

重新运行时我遇到了类似的错误full-upgrade,这也促使我运行,sudo apt --fix-broken install但又出现了另一个错误:

dpkg: error processing package libc6:amd64 (--configure):
 package libc6:amd64 cannot be configured because libc6:i386 is not ready (current status 'half-installed')
Errors were encountered while processing:
 libc6:amd64
E: Sub-process /usr/bin/dpkg returned an error code (1)

通过谷歌搜索,我尝试重新安装半安装包,但却sudo apt install --reinstall libc6-i386出现了类似的错误:

 locales : Depends: libc-bin (> 2.32)

尝试安装该特定版本时,libc-bin我收到另一个错误E: Version '2.32' for 'libc-bin' was not found

我检查了当前安装的 libc6 版本,似乎有 2.31-ubuntu9.2,不确定这到底意味着什么。

❯ dpkg -l | grep libc6  
rF  libc6:amd64                                      2.31-0ubuntu9.2                                           amd64        GNU C Library: Shared libraries
iHR libc6:i386                                       2.31-0ubuntu9.2                                           i386         GNU C Library: Shared libraries
ii  libc6-dev:amd64                                  2.31-0ubuntu9.2                                           amd64        GNU C Library: Development Libraries and Header Files
ii  libc6-i386                                       2.31-0ubuntu9.2                                           amd64        GNU C Library: 32-bit shared libraries for AMD64

我真的不想从头开始使用这台机器,任何帮助都将不胜感激!

答案1

您应该能够手动强制 dpkg 完成 libc6:i386 的安装,此时 apt 应该能够再次“思考” dist-upgrade 过程。这应该只是调用以下内容:

sudo dpkg -i --force-all /var/cache/apt/archives/libc6_2.31-0ubuntu9.2_i386.deb`

不过,文件名可能与我在此处显示的不完全一样,因此您应该先使用以下命令进行验证:

ls /var/cache/apt/archives/libc6*

相关内容