20.10 へのアップデートがサイレントに失敗しました。libc-bin と libc6:i386 / libc6:amd64 のパッケージ バージョンが一致しないため、アップデートできません。

20.10 へのアップデートがサイレントに失敗しました。libc-bin と libc6:i386 / libc6:amd64 のパッケージ バージョンが一致しないため、アップデートできません。

私はPop OSを使用していますが、これはUbuntuに非常に近いものです。数日前、私は以下の手順に従って、自分のワークステーションをPop OS 20.04から2010にアップデートしようとしました。システム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*

関連情報