如何刪除不存在的/Phantom Yum 儲存庫?
TL;DR …我正在用內部的公共 yum 儲存庫替換公共 yum 儲存庫,我無法弄清楚為什麼兩個公共儲存庫
yum repolist
在正常配置文件中沒有出現時繼續顯示在“”中。我已經安裝了 Oracle Linux 7.1(與 RHEL 7.1 密切相關),並且正在將系統的 yum 儲存庫從公共儲存庫切換到我們內部的私有儲存庫。
Oracle Linux 7.1 附帶一個
/etc/yum.repos.d/public-yum-ol7.repo
包含多個 repos 的預設值,唯一啟用的兩個ol7_latest
是ol7_UEKR3
來自public-yum.oracle.com
.我刪除此文件並複制我自己的 .repo 文件…
uswulnrepo01_ol7_latest.repo
和uswulnrepo01_ol7_uekr3.repo
. (uswulnrepo01
是我們內部的 yum 儲存庫)。完成此操作後,我使用“
yum clean all && yum repolist
”進行驗證,以驗證僅顯示我的兩個儲存庫,它們確實如此。問題是我最終得到了 4 個儲存庫……
[root@oel7template yum.repos.d]# yum repolist Loaded plugins: langpacks, rhnplugin This system is receiving updates from ULN. repo id repo name status ol7_x86_64_UEKR3 Unbreakable Enterprise Kernel Release 3 for Oracle Linux 7 (x86_64) - Latest 158 ol7_x86_64_latest Oracle Linux 7 Latest (x86_64) 9,212 uswulnrepo01_ol7_UEKR3/x86_64 Unbreakable Enterprise Kernel Release 3 for Oracle Linux 7 (x86_64) - Latest 123 uswulnrepo01_ol7_latest/x86_64 Oracle Linux 7 Latest (x86_64) 6,784 repolist: 16,277
我不知道從哪裡來
ol7_x86_64_UEKR3
,ol7_x86_64_latest
從哪裡來。當我嘗試獲取有關儲存庫的擴展資訊時(我已刪除不相關的數據)…[root@oel7template yum.repos.d]# yum repolist -v Looking for repo options for [main] Looking for repo options for [ol7_x86_64_UEKR3] Repo 'ol7_x86_64_UEKR3' setting option 'enabled' = '1' Repo 'ol7_x86_64_UEKR3' setting option 'gpgcheck' = '1' Repo 'ol7_x86_64_UEKR3' setting option 'timeout' = '120' Looking for repo options for [ol7_x86_64_latest] Repo 'ol7_x86_64_latest' setting option 'enabled' = '1' Repo 'ol7_x86_64_latest' setting option 'gpgcheck' = '1' Repo 'ol7_x86_64_latest' setting option 'timeout' = '120' Repo-id : ol7_x86_64_UEKR3 Repo-name : Unbreakable Enterprise Kernel Release 3 for Oracle Linux 7 (x86_64) - Latest Repo-baseurl : https://linux-update.oracle.com/XMLRPC/GET-REQ/ol7_x86_64_UEKR3 Repo-id : ol7_x86_64_latest Repo-name : Oracle Linux 7 Latest (x86_64) Repo-baseurl : https://linux-update.oracle.com/XMLRPC/GET-REQ/ol7_x86_64_latest Repo-id : uswulnrepo01_ol7_UEKR3/x86_64 Repo-name : Unbreakable Enterprise Kernel Release 3 for Oracle Linux 7 (x86_64) - Latest Repo-baseurl : http://uswulnrepo01.[REDACTED]/yum/OracleLinux/OL7/UEKR3/x86_64/ Repo-filename: /etc/yum.repos.d/uswulnrepo01_ol7_uekr3.repo Repo-id : uswulnrepo01_ol7_latest/x86_64 Repo-name : Oracle Linux 7 Latest (x86_64) Repo-baseurl : http://uswulnrepo01.[REDACTED]/yum/OracleLinux/OL7/latest/x86_64/ Repo-filename: /etc/yum.repos.d/uswulnrepo01_ol7_latest.repo repolist: 13,799
注意前兩個不需要的
linux-update.oracle.com
條目沒有Repo-filename
值,也不匹配public-yum.oracle.com
預設值public-yum-ol6.repo
。我已經嘗試了一切來刪除這些條目,但我不知道如何。我查看了其他 yum 配置文件,對
/etc/
目錄進行了一些內容搜尋,但找不到任何相關內容。我什至刪除了/var/cache/yum/
. 之後當我執行“yum repolist
”時,公共 yum 文件夾會重新出現。我懷疑 yum 本身是由 Oracle 修改的,所以這些 repos 必須在某個配置文件中……我怎樣才能弄清楚在哪裡?有沒有列出 yum 讀取的所有配置文件的命令?
編輯
我創建了一個新的配置文件“
/etc/yum.repos.d/ol7_x86_64_UEKR3.repo
”作為永久禁用 repo 的嘗試:[ol7_x86_64_UEKR3] name=Unbreakable Enterprise Kernel Release 3 for Oracle Linux 7 (x86_64) - Latest enabled=0
我收到一個新錯誤(再次刪除了不必要的資訊):
[root@oel7template yum.repos.d]# yum repolist -v Looking for repo options for [main] Looking for repo options for [ol7_x86_64_UEKR3] Repo 'ol7_x86_64_UEKR3' setting option 'enabled' = '1' Repo 'ol7_x86_64_UEKR3' setting option 'gpgcheck' = '1' Repo 'ol7_x86_64_UEKR3' setting option 'timeout' = '120' Repository ol7_x86_64_UEKR3 is listed more than once in the configuration
對我來說,這強化了這個設置在某個配置文件中的想法……但是我如何找到它呢?
編輯
/etc/yum/pluginconf.d/rhnplugin.conf
並設置:
[ol7_x86_64_UEKR3] enabled=0 [ol7_x86_64_latest] enabled=0