apt-getエラー: 'package'パッケージの他のインスタンスとは異なる共有 'filename'を上書きしようとしました。

apt-getエラー: 'package'パッケージの他のインスタンスとは異なる共有 'filename'を上書きしようとしました。

Debian Wheezyに複数のUbuntuパッケージをインストールしようとしましたが、失敗し、パッケージが破損しています。

apt-get -f install問題は、次のエラーが原因で実行も失敗することです。

Preparing to replace libqtwebkit4:amd64 2.2.1-1ubuntu4 (using .../libqtwebkit4_2.2.1-5_amd64.deb) ...
Unpacking replacement libqtwebkit4:amd64 ...
dpkg: error processing /var/cache/apt/archives/libqtwebkit4_2.2.1-5_amd64.deb (--unpack):
 trying to overwrite shared '/usr/share/doc/libqtwebkit4/changelog.Debian.gz', which is different from other instances of package libqtwebkit4:amd64
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)

特定のファイルを上書きすることについて文句を言うようです。このファイルを削除または移動する必要がありますか?

答え1

最後に、問題のあるファイルのディレクトリを移動しました。

sudo mv /usr/share/doc/libqtwebkit4 /usr/share/doc/libqtwebkit4.backup

その後apt-get -f install は正常に実行されます。

答え2

Debian Wheezyに複数のUbuntuパッケージをインストールしようとしています。

問題は、UbuntuとDebianは同じパッケージ形式を使用しますが、DebianとUbuntuパッケージはパッケージのバージョンが異なるため、同じシステムで簡単に混在できないことです。複数のバージョンのDebianまたはUbuntuを混在させると、同様の問題が発生します。これは、主にリーフパッケージ(他のパッケージが依存しないパッケージ)をインストールする場合に可能ですが、お勧めできません。

より具体的には、ここでの問題は、さまざまなlibqtwebkit4アーキテクチャ(およびi386)にamd64異なるバージョンのパッケージがインストールされていることです。どちらのアーキテクチャも同じバージョンを持つ必要があります。apt-get install libqtwebkit4 libqtwebkit4:i386手動で操作する必要があるポイントに達した可能性がありますが、この問題を解決することが可能かもしれません。原則として、APTのみを使用してこの状態に達した場合は、APTを使用してこの状態から離れることができるはずです。一方、手動でdpkg呼び出す場合は、いくつかの手動修正が必要な場合があります。

関連情報