Rhel
名稱=packages-microsoft-com-prod 的多個 yum 儲存庫
一組 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
:if rpm -qf /the/file > /dev/null 2>&1 then : the file is owned by an RPM else : the file is not owned by an RPM fi