本文主要介紹在Linux作業系統遷移時,遷移任務出錯提示“fail to download rpm packages”資訊時的問題描述、問題原因及其解決方案。
問題描述
在使用SMC作業系統遷移時,遷移任務出錯提示“fail to download rpm packages”資訊。
問題原因
將遷移的原始伺服器系統中所有提供的軟體包(例如:CentOS)重裝目標系統對應的軟體包,涉及到軟體包的依賴解析,下載和安裝,如果遷移過程中存在依賴錯誤會導致rpm包安裝失敗。
解決方案
遠端連線原始伺服器。具體操作,請參見串連執行個體。
執行以下命令,查看日誌。
跨版本遷移(例如CentOS 7遷移至Alibaba Cloud Linux 3)採用的是leapp工具,此時需要查看leapp日誌,在日誌中找到
package_download: Error: Transaction下對應的資訊。cat /var/log/leapp/leapp-upgrade.log
根據日誌,分析軟體包之間依賴關係。
樣本一

上圖日誌中可以看到在安裝
python3-six-1.11.0-8.1.al8.noarch時與源系統上python36-six-1.14.0-2.el7.noarch衝突,此時執行以下命令,卸載源系統python36-six-1.14.0-2.el7.noarch,遷移會新安裝python3-six-1.11.0-8.1.al8.noarch,以此類推需要處理所有衝突。yum remove python36-six樣本二

上圖日誌中可以看到在安裝
cmake-3.20.2-5.al8.x86_64時與源系統上cmake3-3.17.5-1.el7.x86_64衝突,此時我們需要卸載源系統cmake3-3.17.5-1.el7.x86_64,遷移會新安裝cmake-3.20.2-5.al8.x86_64,以此類推需要處理所有衝突。yum remove cmake3-3.17.5-1.el7.x86_64
問題排查解決後,運行SMC用戶端再試。具體操作,請參見運行SMC用戶端。