出错提示“A YUM/DNF repository defined multiple times”

本文主要介绍在使用SMC操作系统迁移时,出错提示“A YUM/DNF repository defined multiple times”的问题描述、问题原因及其解决方案。

问题描述

在操作系统迁移时,出错提示“A YUM/DNF repository defined multiple times”。

问题原因

YUM源的配置文件中软件包仓库标识重复定义,可能导致操作系统迁移失败。

解决方案

  1. 远程连接ECS实例。具体操作,请参见通过密码或密钥认证登录Linux实例

  2. 执行以下命令,查看YUM源的配置文件中软件包仓库标识。

    grep "\[base\]" /etc/yum.repos.d/*.repo
    grep "\[extras\]" /etc/yum.repos.d/*.repo
    grep "\[updates\]" /etc/yum.repos.d/*.repo

    回显信息类似如下所示,表示/etc/yum.repos.d/CentOS-7.repo文件和/etc/yum.repos.d/CentOS-Base.repo文件中同时配置了base仓库。

    [root@test ~]# grep "\[base\]" /etc/yum.repos.d/*.repo 
    /etc/yum.repos.d/CentOS-7.repo:[base]
    /etc/yum.repos.d/CentOS-Base.repo:[base]
    [root@test ~]# grep "\[extras\]" /etc/yum.repos.d/*.repo 
    /etc/yum.repos.d/CentOS-Base.repo:[extras]
    [root@test ~]# grep "\[updates\]" /etc/yum.repos.d/*.repo 
    /etc/yum.repos.d/CentOS-Base.repo:[updates]
  3. /etc/yum.repo.d/目录下的repo配置文件中,修改重复的软件包仓库标识,使其命名保持唯一。

    本示例您可以将/etc/yum.repos.d/CentOS-7.repo/etc/yum.repos.d/CentOS-Base.repo中的[base]修改成其他名称,实际环境中如果[extras]、[updates]或其他仓库标识也存在重复,需要依次修改所有重复的软件包仓库标识。

  4. 问题排查解决后,运行SMC客户端再试。具体操作,请参见运行SMC客户端