Fedora 33 升級到 34 遇到問題

Fedora 33 升級到 34 的詳細步驟可參考以下文章 https://www.putorius.net/upgrade-to-fedora-34.html

升級流程所用到的指令如下

# 切換到 root
sudo -s

# 先將現行系統更新到最新
dnf --refresh upgrade

# 安裝 dnf 系統升級套件
dnf install dnf-plugin-system-upgrade --best

# 下載升級到 fedora 34 所需要的套件檔案
dnf system-upgrade download --refresh --releasever=34

# 重開機準備開始升級
dnf system-upgrade reboot

在準備升級的過程中遇到以下的錯誤訊息

錯誤:
 問題: rdma-core-35.0-1.fc33.i686 has inferior architecture
  - rdma-core-35.0-1.fc33.x86_64 不屬於 distupgrade 軟體庫
  - 安裝的軟體包有問題 rdma-core-35.0-1.fc33.i686
(請試試加上「--skip-broken」以跳過無法安裝的軟體包)

先依照訊息健議使用 --skip-broken 來處理

$ dnf system-upgrade download --refresh --releasever=34 --skip-broken
錯誤:
 問題: rdma-core-35.0-1.fc33.i686 has inferior architecture
  - rdma-core-35.0-1.fc33.x86_64 不屬於 distupgrade 軟體庫
  - 安裝的軟體包有問題 rdma-core-35.0-1.fc33.i686

依之前的慣例來看,可以透過先將有問題的套件移除,等升級完成後再另外裝回來,可以解決大部份的問題。所以試著用 dnf 將其移除:

$ dnf remove rdma-core --skip-broken
錯誤:
 問題: rdma-core-35.0-1.fc33.i686 has inferior architecture
  - rdma-core-35.0-1.fc33.x86_64 不屬於 distupgrade 軟體庫
  - 安裝的軟體包有問題 rdma-core-35.0-1.fc33.i686

似乎並不能解決問題,無法使用 dnf 將其移除,google 了類似的錯誤訊息後,在 https://bugzilla.redhat.com/show_bug.cgi?id=1956631 發現類似的問題,論壇提到解決方法是先將 rdma-core 透過 rpm 的方式移除後再進行升級

# 搜尋後發現系統裡居然有兩個 rdma-core 的套件,於是先使用 rpm 將兩個都進行移除
$ rpm -e --nodeps rdma-core-35.0-1.fc33.x86_64
$ rpm -e --nodeps rdma-core-35.0-1.fc33.i686
# 重新開始下載系統升級套件
$ dnf system-upgrade download --refresh --releasever=34

接下來就一路順利升級到 fedora 34 了。

沒有留言:

張貼留言

更新套件時新舊版本的檔案發生衝突

  在系統更新的時候,有時發現很奇怪的檔案衝突,例如同一個套件新舊版本的檔案發生衝突。原本該是被更新的檔案,卻被系統告知要安裝新版本中的檔案被舊版本套件中的檔案互相衝突。 以這次遇到的 glib-networking 為例: 錯誤:處理事項測試錯誤: ...