dnfがクラッシュし、トランザクションエラーが発生しました


3

dnf updateGnomeがクラッシュしたときに、Fedora 22システムでa を実行していて、の実行を中断しましたdnf。今、再試行すると、このエラーが発生します:

The downloaded packages were saved in cache until the next successful transaction.
You can remove cached packages by executing 'dnf clean packages'.
Error: Transaction check error:
  file /usr/share/licenses/libpng/LICENSE from install of libpng-2:1.6.19-1.fc22.i686 conflicts with file from package libpng-2:1.6.16-3.fc22.x86_64
  file /usr/share/man/man5/png.5.gz from install of libpng-2:1.6.19-1.fc22.i686 conflicts with file from package libpng-2:1.6.16-3.fc22.x86_64
  file /usr/share/doc/libgpg-error/README from install of libgpg-error-1.21-1.fc22.i686 conflicts with file from package libgpg-error-1.17-2.fc22.x86_64
  [... many more ...]
  file /usr/share/doc/libgpg-error/AUTHORS from install of libgpg-error-1.21-1.fc22.i686 conflicts with file from package libgpg-error-1.17-2.fc22.x86_64
  file /usr/share/doc/pcre/NEWS from install of pcre-8.38-1.fc22.i686 conflicts with file from package pcre-8.37-4.fc22.x86_64
  file /usr/share/doc/pcre/ChangeLog from install of pcre-8.38-1.fc22.i686 conflicts with file from package pcre-8.37-4.fc22.x86_64

Error Summary
-------------

dnf新しいバージョンのインストールを強制的に続行するにはどうすればよいですか?

回答:


1

multilibシステムがあるように見えます— x686_64とi686パッケージもインストールされています。多くの場合、このようなパッケージはファイルを共有しますが、まったく同じであれば問題ありません。ここでは、1つのアーキテクチャが更新されたが、他のアーキテクチャは更新されず、共有ファイルが変更されたようです。

これから最も簡単な方法は、i686パッケージを削除することです。この場合、

sudo dnf remove libpng.i686 libgpg-error.i686 pcre.i686

それを行う必要があります。また、i686依存関係の束を削除することもできますが、これは問題ありません。いつでも元に戻すことができます。これを行ってからアップグレードし、本当に必要な32ビットプログラムを戻します。


ありがたいことに、とにかく22から23にアップグレードしましたが、それでもうまくいきました。他のパッケージにいくつかの問題がありましたが、それらを削除して再インストールすると修正されました。
バートフリーデリ

2

私が使用しrpm最初のi686のパッケージを削除せずに、アップグレードを強制します。dnfRPMファイルを/var/cache/dnf/updates-<tx-id>/packages/次の場所に保存します。

sudo rpm -i --force /var/cache/dnf/updates-<tx-id>/packages/<package>.rpm
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.