Centos
在 CentOS 8 中無法執行 yum 更新
我想在這篇文章的開頭加上以下免責聲明:我對 yum 的功能有些陌生,而且我也不熟悉自 CentOS 8 成為 EOL 以來所需更改的細節。
大約一個月前,我的容器建構無法成功執行,因為當我進行 yum 更新時,我得到了一個錯誤。我在這裡找到了解決方案並將其添加到我的容器建構中:
sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-Linux-* sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-Linux-*
這讓我度過了一段時間,直到今天,它似乎又崩潰了。
bash-4.4# yum update CentOS Linux 8 - AppStream 149 kB/s | 8.4 MB 00:58 CentOS Linux 8 - BaseOS 113 kB/s | 4.6 MB 00:41 CentOS Linux 8 - Extras 716 B/s | 10 kB 00:14 CentOS Linux 8 - PowerTools 0.0 B/s | 0 B 01:26 Errors during downloading metadata for repository 'powertools': - Curl error (28): Timeout was reached for http://vault.centos.org/centos/8/PowerTools/x86_64/os/repodata/981185e5d80d51024e5246ed47f7f69605160518c22103379bb71376e2dccb14-filelists.xml.gz [Operation too slow. Less than 1000 bytes/sec transferred the last 30 seconds] - Curl error (28): Timeout was reached for http://vault.centos.org/centos/8/PowerTools/x86_64/os/repodata/4b94ac0555ec1e15718dd9d77f995ec7096d98974b4c7a427b8e03c20e9c663d-primary.xml.gz [Operation too slow. Less than 1000 bytes/sec transferred the last 30 seconds]
所以我找到了一些其他的解決方案,但都沒有奏效。例如,我發現這篇文章:CentOS 8 upgade - How to resolve Warning: failed loading ‘/etc/yum.repos.d/CentOS-AppStream.repo’, skipping
它讓我做到了以下幾點:
dnf --disablerepo '*' --enablerepo extras swap centos-linux-repos centos-stream-repos
dnf 發行版同步
但有了這個,我明白了:
bash-4.4# dnf --disablerepo '*' --enablerepo extras swap centos-linux-repos centos-stream-repos CentOS Linux 8 - Extras 22 kB/s | 10 kB 00:00 Error: Problem 1: conflicting requests - nothing provides centos-gpg-keys = 1:8-3.el8 needed by centos-stream-repos-8-3.el8.noarch Problem 2: package centos-linux-release-8.3-1.2011.el8.noarch requires centos-repos(8), but none of the providers can be installed - conflicting requests - problem with installed package centos-linux-release-8.3-1.2011.el8.noarch - nothing provides centos-gpg-keys = 1:8-3.el8 needed by centos-stream-repos-8-3.el8.noarch (try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)
如果我給出的條件是我無法更改此容器(CentOS 8)的基礎基礎映像,那麼短期解決方案是什麼?我知道長期的解決方案是切換我的作業系統,但我需要在短時間內跛行。
先感謝您!
vault.centos.org 背後的基礎設施很可能總是不穩定。
RedHat 幾乎沒有動力支持它。它適用於他們主要作業系統的存檔社區版本,與 CentOS Stream 的 EOL 相同的社區版本。
如此處詳述,您可能希望使用
vault.epel.cloud
哪個更可靠。sed -i 's|baseurl=http://vault.centos.org|baseurl=http://vault.epel.cloud|g' /etc/yum.repos.d/CentOS-Linux-*
將您的容器從 CentOS 8 中移出,因為它已報廢。不要使用保險櫃。
幾個選項。直接來自 Red Hat 的通用基礎映像 (UBI 8)。重建後的基於 EL8 的容器,至少 Alma 和 Rocky 也有這些。