Ubuntu 配置清华源后更新失败?HTTPS 证书缺失的排查与修复

张开发
2026/4/18 18:04:12 15 分钟阅读

分享文章

Ubuntu 配置清华源后更新失败?HTTPS 证书缺失的排查与修复
1. 为什么Ubuntu配置清华源后会更新失败最近有不少朋友在将Ubuntu的软件源更换为清华镜像后执行apt update时遇到了更新失败的问题。错误提示通常包含does not have a Release file或cant be done securely这样的字眼。作为一个长期使用Ubuntu的老用户我也曾在这个问题上栽过跟头。问题的根源在于Ubuntu默认安装时可能没有包含完整的HTTPS支持组件。清华镜像源使用的是HTTPS协议而系统默认安装的apt工具可能只支持HTTP协议。这就像你有一把钥匙apt但锁清华源已经升级成了更安全的电子锁HTTPS原来的机械钥匙自然就打不开了。具体来说系统缺少两个关键组件apt-transport-https让apt支持HTTPS协议传输ca-certificates提供SSL证书验证所需的根证书2. 完整的问题排查流程2.1 检查错误信息当你看到类似下面的错误时就说明遇到了HTTPS证书问题E: The repository https://mirrors.tuna.tsinghua.edu.cn/ubuntu focal Release does not have a Release file. N: Updating from such a repository cant be done securely, and is therefore disabled by default.这个错误信息其实很友好它明确告诉我们系统无法从该仓库获取Release文件出于安全考虑默认禁止从这样的仓库更新2.2 验证当前apt配置在动手修复前建议先检查当前的源配置是否正确。执行以下命令查看当前的源列表cat /etc/apt/sources.list确认其中确实使用的是清华源的HTTPS地址类似这样deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse2.3 测试网络连接有时候问题可能出在网络连接上。可以先用curl测试是否能访问镜像站curl -I https://mirrors.tuna.tsinghua.edu.cn如果这个命令失败可能是网络配置问题而不是证书问题。3. 详细解决方案3.1 临时切换回HTTP源如果因为HTTPS问题导致无法安装任何软件包可以临时将清华源改为HTTP协议sudo sed -i s/https/http/g /etc/apt/sources.list这样就能暂时绕过HTTPS验证等安装完必要组件后再改回HTTPS。3.2 安装必备组件执行以下命令安装HTTPS支持sudo apt update sudo apt install -y apt-transport-https ca-certificates这里有两个关键包apt-transport-https让apt支持HTTPS协议ca-certificates提供SSL证书验证3.3 更新证书并验证安装完成后建议更新证书sudo update-ca-certificates然后再次尝试更新sudo apt update4. 进阶问题排查4.1 如果仍然失败怎么办有时候即使安装了上述组件问题仍然存在。这时可以尝试清除apt缓存sudo apt clean sudo apt update检查系统时间是否正确date错误的系统时间会导致SSL证书验证失败。4.2 检查证书存储位置Ubuntu的证书存储在/etc/ssl/certs/可以用以下命令查看已安装的证书ls -l /etc/ssl/certs/4.3 手动添加证书极端情况在极少数情况下可能需要手动添加证书。可以从浏览器导出清华镜像站的证书然后sudo cp your-cert.pem /usr/local/share/ca-certificates/ sudo update-ca-certificates5. 预防措施和最佳实践5.1 新系统初始化步骤对于新安装的Ubuntu系统建议按这个顺序操作先使用默认源更新系统安装HTTPS支持组件再更换为清华源5.2 创建系统快照在进行重大修改前建议创建系统快照sudo apt install timeshift sudo timeshift --create这样如果出现问题可以快速回滚。5.3 验证源速度更换源后可以用这个命令测试各个镜像的速度sudo netselect-apt虽然清华源对国内用户通常是最快的但在某些网络环境下可能有更优选择。6. 深入理解HTTPS验证机制6.1 apt的安全模型Ubuntu的apt工具采用严格的安全策略所有软件包必须经过签名验证仓库必须提供有效的Release文件HTTPS连接必须通过证书验证6.2 证书链验证过程当apt访问HTTPS源时服务器提供SSL证书系统检查证书是否由受信任的CA签发验证证书是否过期检查域名是否匹配6.3 为什么需要ca-certificates这个包包含了主流CA的根证书没有它系统就无法验证任何HTTPS连接的合法性。就像没有公安局的印章样本就无法验证身份证真伪一样。7. 其他常见问题解答7.1 不同Ubuntu版本的处理对于较旧的Ubuntu版本如16.04可能需要额外步骤sudo apt install software-properties-common7.2 企业网络环境下的特殊配置在某些企业网络中可能有自签名证书或中间人代理。这时需要获取企业根证书将其添加到系统信任库配置apt使用代理7.3 如何彻底卸载HTTPS支持虽然不推荐但可以移除HTTPS支持sudo apt remove apt-transport-https不过这会限制你只能使用HTTP源安全性会降低。在实际使用中我发现保持系统组件更新是避免这类问题的关键。每次Ubuntu大版本升级后我都会检查这些基础组件的状态确保软件源配置始终处于最佳状态。

更多文章