一组 Amazon Linux 2 实例
name=packages-microsoft-com-prod
在冗余yum repositories
中具有不同名称的重复实例。什么是删除对同一包的重复引用而不导致在同一操作系统中运行的其他东西中断的安全方法?
以下是 grep 说明问题的方式:
[user-name@host-name ~]$ sudo grep name=packages-microsoft-com-prod /etc/yum.repos.d/*
/etc/yum.repos.d/microsoft-prod.repo:name=packages-microsoft-com-prod
/etc/yum.repos.d/msprod.repo:name=packages-microsoft-com-prod
包的两个实例导致实例中的其他程序返回错误,表明它们不知道要使用两个同名包中的哪一个。
我试过yum update
了,但问题仍然存在。我可以编写一些 bash 脚本来检查重复名称并删除一个 repo,直到没有重复。但我担心删除回购可能是一种黑客方法,可能会在机器的其他地方造成附带损害。
用户要求:
根据@JeffSchaller 的评论,我添加了以下终端输出来详细说明情况:
[user-name@host-name ~]$ grep -c ^name= /etc/yum.repos.d/microsoft-prod.repo /etc/yum.repos.d/msprod.repo
/etc/yum.repos.d/microsoft-prod.repo:1
/etc/yum.repos.d/msprod.repo:1
[user-name@host-name ~]$ rpm -qf /etc/yum.repos.d/microsoft-prod.repo /etc/yum.repos.d/msprod.repo
packages-microsoft-prod-1.0-1.el7.noarch
file /etc/yum.repos.d/msprod.repo is not owned by any package
[user-name@host-name ~]$ sudo cat /etc/yum.repos.d/microsoft-prod.repo
[packages-microsoft-com-prod]
name=packages-microsoft-com-prod
baseurl=https://packages.microsoft.com/rhel/7/prod/
enabled=1
gpgcheck=1
gpgkey=https://packages.microsoft.com/keys/microsoft.asc
[user-name@host-name ~]$ sudo cat /etc/yum.repos.d/msprod.repo
[packages-microsoft-com-prod]
name=packages-microsoft-com-prod
baseurl=https://packages.microsoft.com/rhel/7/prod/
enabled=1
gpgcheck=1
gpgkey=https://packages.microsoft.com/keys/microsoft.asc
鉴于您演示的情况,我会
rm /etc/yum.repos.d/msprod.repo
,因为它是 /etc/yum.repos.d/microsoft-prod.repo 的副本,并且也不属于任何软件包。要以编程方式确定文件是否由包拥有,请检查以下返回代码
rpm
: