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