Centos7

在私有倉庫中找不到primary.sqlite.bz2

  • June 4, 2018

我一直在為我正在工作的公司建立一個私人回購。一開始它工作正常,但是今天,當我嘗試安裝我建構的新 rpm 時,我遇到了這個醜陋的錯誤:

http://<server_name>/centos/7/repodata/a6ecd0c880b1f5128974cd147a53cd84d7dab269b9055215b6fbe99fb98f6d7a-primary.sqlite.bz2: [Errno 14] HTTP Error 404 - Not Found-:-- ETA

我已經嘗試過:

yum clean all
rm -rf /var/cahe/yum
yum repolist

再次出現同樣的錯誤。

我已經刪除了 repo 伺服器上 repodata 下的所有內容,並再次使用以下命令重新創建了 repo:

createrepo /path/to/repo/directory

重新創建回購之後,我又跑了

yum clean all
rm -rf /var/cahe/yum
yum repolist

但仍然沒有任何工作

我 100% 確定客戶端配置沒問題,因為我是目前唯一一個在玩伺服器的人,上週它執行良好。

否則,可以通過 http 訪問 repo,我可以使用 Web 瀏覽器查看所有包和 repodata。如果執行

curl http://<server_name>/centos/7/repodata/repomd.xml

從客戶那裡,我得到了正確的文件。

我已經意識到主數據庫名稱的名稱在客戶端中不是正確的名稱(即使在執行之後yum clean all; rm-rf /var/cache/yum; yum update)。請問我該如何解決?我整個下午都在研究這個問題,但沒有任何改變

回購目錄中的權限設置正常(三重檢查

我錯過了什麼???

預先感謝您的幫助

我想我昨天晚上已經找到了答案,至少目前我沒有面臨之前描述的問題。

解決方案很簡單,避免客戶端保留 repos 的本地記憶體。這可以在/etc/yum.conf客戶端文件的下一行中完成:

http_caching=none

設置此選項後,每次客戶端執行 ayum updateyum repolist從儲存庫伺服器下載所有 repodata 時,所有文件都處於其最新版本。

我仍然不明白為什麼我要擦除客戶端中的所有本地記憶體,而客戶yum clean all; rm -rf /var/cache/yum端一直在搜尋舊的 repodata 文件。如果有人有答案,請分享。在過去的幾天裡,它讓我發瘋了。

無論如何,謝謝你的提示和建議

引用自:https://serverfault.com/questions/886493