本文主要介紹在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客戶端。