我有一台旧的 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。
因此,即使禁用证书检查也无济于事,因为错误发生在协议级别。
我看到两种可能的解决方案:
- 在另一台计算机上手动下载 yum 的 rpm 包及其依赖项,然后通过 USB 将它们传输到 CentOS 机器上,然后在那里手动安装它们
- 如果您的网络中还有第二台装有较新操作系统的 PC,请在其上安装 mitmproxy,并在 CentOS 机器上将其用作代理。安装 mitmproxy 根 CA 证书或禁用证书检查。Mitmproxy 应该能够转换 TLS 版本,以便 yum 可以再次连接到更新服务器。
答案2
我在 CentOS 6.6 上遇到了同样的问题,我找到的解决方案是:
- 使用 linuxsoft.cern.ch 提供的镜像,即在 /etc/yum.repos.d/CentOS-Base.repo 中将“baseurl=https://mirror.centos.org...”替换为“baseurl=https://linuxsoft.cenr.ch...”。请务必使用 CentOS 6.10 镜像!
- 更新 openssl nssm curl (yum update ...)
- 您可以在 /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/