最近、Fedora 21からFedora 23にアップグレードしました。 dnf
.
アップグレード後にaを実行すると、dnf upgrade
次のようになります。
Skipping packages with broken dependencies:
sqlite x86_64 3.11.0-1.fc23 updates 484 k
Anはrpm -qa | grep sqlite
現在、異なるバージョンのsqliteがインストールされていることを知らせます。
sqlite-3.10.2-1.fc23.x86_64
これで、この問題をすばやく解決できるようですdnf upgrade --best --allowerasing
。残念ながら、今回は以前のバージョンがすでにインストールされているため、動作しません。
Error: cannot install both sqlite-3.11.0-1.fc23.x86_64 and sqlite-3.10.2-1.fc23.x86_64
私は単にsqliteパッケージを削除し、依存パッケージを削除し、最新バージョンのsqliteをインストールしてから依存パッケージをインストールできると思いました。明らかに時間がかかりますが、慣れていました。必要に応じて、依存関係を手動で解決できます。
しかし、dnf remove sqlite
私にこれを与える:
Error: The operation would result in removing the following protected packages: systemd, dnf.
では、今からどこに行きますか?明らかに削除できませんdnf
。またはsystemd
これに似ています。ブロックされた他のパッケージに依存するパッケージを強制的にアップグレードする方法はありますか?
答え1
sqliteの特定の問題は、リポジトリへの誤った更新による一時的な問題でした。 (負のQAフィードバックは、複数のテスターがすでに承認した後に遅すぎます。)テスト中のアップデートこれはトリックを行う必要があります。
これは即時の問題を解決します。もっと一般的な答えが欲しいかどうかはわかりません。残念ながら、一般的な答えは一般的に「まあ、実際にはできません...リポジトリを更新するときにできることはありません。あなたは一貫していません。」完了。「もしあなたなら本物もっと詳しく知りたい場合(たとえば、深刻なセキュリティ問題がある場合)、DNFをバイパスしてrpmを直接使用できます(少なくとも問題がRPM自体に依存するまで)。