Ubuntu 22.04 ではパッケージ システムが壊れています

Ubuntu 22.04 ではパッケージ システムが壊れています

Ubuntu 22.04 のソフトウェア更新時にエラーが表示されます。「パッケージ NAME の他のインスタンスとは異なる共有 FILE を上書きしようとしています」というエラーを修正するにはどうすればよいですか。以下に例を示します。

trying to overwrite shared '/usr/lib/llvm-14/lib/libunwind.so.1.0',
which is different from other instances of package libunwind-14:i386
...

この質問の下部にある完全な端末出力

Errors were encountered while processing:
 /var/cache/apt/archives/libunwind-14_1%3a14.0.0-1ubuntu1_i386.deb
 /var/cache/apt/archives/libc++abi1-14_1%3a14.0.0-1ubuntu1_i386.deb
 /var/cache/apt/archives/libc++1-14_1%3a14.0.0-1ubuntu1_i386.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

スクリーン1

ここに画像の説明を入力してください

スクリーン2

ここに画像の説明を入力してください

スクリーン3

ここに画像の説明を入力してください

フル出力:

lis@lenovo:~$ sudo apt-get install -f
[sudo] password for lis: 
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Correcting dependencies... Done
The following additional packages will be installed:
  libc++1-14:i386 libc++abi1-14:i386 libunwind-14:i386
Suggested packages:
  clang:i386
The following NEW packages will be installed:
  libc++1-14:i386 libc++abi1-14:i386 libunwind-14:i386
0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
5 not fully installed or removed.
Need to get 0 B/391 kB of archives.
After this operation, 1 475 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
(Reading database ... 215160 files and directories currently installed.)
Preparing to unpack .../libunwind-14_1%3a14.0.0-1ubuntu1_i386.deb ...
Unpacking libunwind-14:i386 (1:14.0.0-1ubuntu1) ...
dpkg: error processing archive /var/cache/apt/archives/libunwind-14_1%3a14.0.0-1ubuntu1_i386.deb (--unpack):
 trying to overwrite shared '/usr/lib/llvm-14/lib/libunwind.so.1.0', which is different from other instances of package libunwind-14:i386
Preparing to unpack .../libc++abi1-14_1%3a14.0.0-1ubuntu1_i386.deb ...
Unpacking libc++abi1-14:i386 (1:14.0.0-1ubuntu1) ...
dpkg: error processing archive /var/cache/apt/archives/libc++abi1-14_1%3a14.0.0-1ubuntu1_i386.deb (--unpack):
 trying to overwrite shared '/usr/lib/llvm-14/lib/libc++abi.so.1.0', which is different from other instances of package libc++abi1-14:i386
Preparing to unpack .../libc++1-14_1%3a14.0.0-1ubuntu1_i386.deb ...
Unpacking libc++1-14:i386 (1:14.0.0-1ubuntu1) ...
dpkg: error processing archive /var/cache/apt/archives/libc++1-14_1%3a14.0.0-1ubuntu1_i386.deb (--unpack):
 trying to overwrite shared '/usr/lib/llvm-14/lib/libc++.so.1.0', which is different from other instances of package libc++1-14:i386
Errors were encountered while processing:
 /var/cache/apt/archives/libunwind-14_1%3a14.0.0-1ubuntu1_i386.deb
 /var/cache/apt/archives/libc++abi1-14_1%3a14.0.0-1ubuntu1_i386.deb
 /var/cache/apt/archives/libc++1-14_1%3a14.0.0-1ubuntu1_i386.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

答え1

競合しているため、キャッシュされたバージョンを削除して再試行する必要があります。

初めキャッシュされたバージョンを削除します。

sudo rm /var/cache/apt/archives/*.deb
sudo rm -R /var/cache/apt/archives/partial

、 もう一度やり直してください:

sudo apt update
sudo apt -f install
sudo apt dist-upgrade

今後エラーがあった場合は投稿してください。


編集(下記の解決策を参照):

問題となっている各パッケージは i386 バージョンです。各パッケージの amd64 バージョンと i386 バージョンには、同じ場所に同じ名前のファイルが含まれていますが、ファイルのハッシュサムは異なります。これらの特定のパッケージでは、amd64 バージョンと i386 バージョンは共存できません。

解決策としては、i386 バージョンをインストールすることが絶対に必要な場合を除き、i386 バージョンを削除します。

ただ気をつけてYを受け入れる前に、削除するパッケージのリストを確認してください。実行後:

sudo apt remove libc++1-14:i386 libc++abi1-14:i386 libunwind-14:i386

この特定のケースでは、OP は削除するlibc++1-14:i386だけで問題が解決したと報告しました。

関連情報