Ubuntu 22.04 amd64执行sudo apt update时无法获取Jammy Jellyfish及安全源的修复求助
Ubuntu 22.04 amd64执行sudo apt update时无法获取Jammy Jellyfish及安全源的修复求助
看起来你遇到了源连接超时和SSL握手失败的问题,我来一步步帮你排查解决:
1. 先排查基础网络连通性问题
首先确认你的系统能不能正常访问这些源服务器:
- 测试安全源的连通性:执行
ping -c 4 security.ubuntu.com,如果没有响应,大概率是DNS解析或者网络防火墙/代理的问题 - DNS修复:如果DNS解析有问题,可以临时切换到公共DNS,比如谷歌的8.8.8.8:
sudo vim /etc/resolv.conf # 添加或修改为:nameserver 8.8.8.8 sudo systemctl restart systemd-resolved - 代理检查:如果你的系统设置了不必要的HTTP/HTTPS代理,会导致连接异常。执行
echo $http_proxy $https_proxy查看,要是有代理但不需要,临时取消:
永久取消的话,可以编辑unset http_proxy https_proxy~/.bashrc或者/etc/environment文件,删除里面的代理配置行。
2. 更换国内镜像源(解决国外源访问不稳定问题)
国外官方源在国内访问经常会超时,换成国内镜像源能大幅提升稳定性:
- 先备份原有源配置:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak - 编辑源文件:
sudo vim /etc/apt/sources.list,清空原有内容,替换为国内镜像源(比如清华源):deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse - 保存退出后,执行
sudo apt update测试效果。
3. 修复谷歌Chrome源的SSL握手问题
你遇到的Could not handshake: Error in the pull function通常是SSL证书异常或者网络拦截导致的,可以试试这两个方法:
- 临时注释谷歌源:找到谷歌源的配置文件(一般是
/etc/apt/sources.list.d/google-chrome.list),编辑它并在源行前加#注释掉,之后再执行更新 - 重装CA证书:系统根证书损坏也会导致握手失败,执行以下命令修复:
sudo apt install --reinstall ca-certificates sudo update-ca-certificates
4. 最终验证
完成以上步骤后,再次执行 sudo apt update,如果还有错误,注意看新的错误提示,我们可以再针对性调整。
备注:内容来源于stack exchange,提问作者Franky
相关产品推荐
相关产品推荐

