web-dev-qa-db-ja.com

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)

一部のファイルの上書きについて不満があるようです。これらのファイルを削除または移動してみますか?

8
sashoalm

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

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

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

13
sashoalm

Debian WheezyにいくつかのUbuntuパッケージをインストールしてみました

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

より具体的には、ここでの問題は、異なるアーキテクチャ(libqtwebkit4およびi386)に対して、異なるバージョンのAMD64パッケージがインストールされていることです。両方のアーキテクチャで同じバージョンを使用する必要があります。 apt-get install libqtwebkit4 libqtwebkit4:i386でこれを修正できる可能性がありますが、手動での操作が必要な状態になっている可能性があります。原則として、APTだけでこの状態に達した場合、APTでそれから抜け出すことができるはずです。一方、dpkg手動の場合、手動での修正が必要になる場合があります。