我该如何更新非常旧的 CentOS 版本(6.2),因为 openssl 证书过期,yum 根本无法工作?

我该如何更新非常旧的 CentOS 版本(6.2),因为 openssl 证书过期,yum 根本无法工作?

我有一台旧的 CentOS 6.2 机器,需要更新上面的一些软件包(或者我想是很多软件包)。

但是我做不到任何事物使用 yum,因为即使将 repos 更改为vault.centos.org,yum 每次尝试下载任何软件包时都会出现此错误:

[Errno 14] problem making ssl connection

解决此错误的通常方法是“更新 openssl 或证书包”,但我当然不能这样做,因为这需要 yum。

我已经尝试sslverify=0在 repo 文件中使用,但sslverify=false无济于事yum.conf

有没有一种手动的方式可以让我更新这些以便可以再次开始使用 yum?

答案1

最有可能的问题不是证书,而是使用的 SSL/TLS 库支持的 TLS 版本。例如,vault.centos.org 仅支持 TLS1.2,而您的操作系统默认仅支持 TLS 1.0。

因此,即使禁用证书检查也无济于事,因为错误发生在协议级别。

我看到两种可能的解决方案:

  1. 在另一台计算机上手动下载 yum 的 rpm 包及其依赖项,然后通过 USB 将它们传输到 CentOS 机器上,然后在那里手动安装它们
  2. 如果您的网络中还有第二台装有较新操作系统的 PC,请在其上安装 mitmproxy,并在 CentOS 机器上将其用作代理。安装 mitmproxy 根 CA 证书或禁用证书检查。Mitmproxy 应该能够转换 TLS 版本,以便 yum 可以再次连接到更新服务器。

答案2

我在 CentOS 6.6 上遇到了同样的问题,我找到的解决方案是:

  1. 使用 linuxsoft.cern.ch 提供的镜像,即在 /etc/yum.repos.d/CentOS-Base.repo 中将“baseurl=https://mirror.centos.org...”替换为“baseurl=https://linuxsoft.cenr.ch...”。请务必使用 CentOS 6.10 镜像!
  2. 更新 openssl nssm curl (yum update ...)
  3. 您可以在 /etc/yum.repos.d/CentOS-Base.repo 中切换回 vault.centos.org。

来源:https://www.mark-gilbert.co.uk/fixing-yum-repos-on-centos-6-now-its-eol/

相关内容