出错提示“fail to download rpm packages”

本文主要介绍在Linux操作系统迁移时,迁移任务出错提示“fail to download rpm packages”信息时的问题描述、问题原因及其解决方案。

问题描述

在使用SMC操作系统迁移时,迁移任务出错提示“fail to download rpm packages”信息。

问题原因

将迁移的源服务器系统中所有提供的软件包(例如:CentOS)重装目标系统对应的软件包,涉及到软件包的依赖解析,下载和安装,如果迁移过程中存在依赖错误会导致rpm包安装失败。

解决方案

  1. 远程连接源服务器。具体操作,请参见连接实例

  2. 执行以下命令,查看日志。

    跨版本迁移(例如CentOS 7迁移至Alibaba Cloud Linux 3)采用的是leapp工具,此时需要查看leapp日志,在日志中找到package_download: Error: Transaction下对应的信息。

    cat /var/log/leapp/leapp-upgrade.log

    image

  3. 根据日志,分析软件包之间依赖关系。

    • 示例一

      image

      上图日志中可以看到在安装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
    • 示例二

      image

      上图日志中可以看到在安装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
  4. 问题排查解决后,运行SMC客户端再试。具体操作,请参见运行SMC客户端