Fedora
如何修復損壞的依賴關係,需要在 Fedora 23 上解除安裝 dnf?
我最近從 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
這樣。有沒有一種方法可以強制升級依賴於其他被阻止的包的包?
sqlite 的具體問題是一個暫時性的問題,即更新到儲存庫的錯誤。(在幾個測試人員已經批准後,負面的 QA 回饋來得太晚了。)測試中有一個更新的更新應該可以解決這個問題。
那應該可以解決您的直接問題;我不確定您是否需要更一般的答案——不幸的是,我認為一般答案通常是“嗯,你不能,真的……當更新儲存庫處於不連貫的狀態時,沒有什麼可做的做完了。” 如果您真的想深入研究它(例如,如果存在嚴重的安全問題),您可以繞過 DNF 並直接使用 rpm(至少直到問題依賴於 RPM 本身)。