Ubuntu 23.10 Sources.list 更新报错但升级正常的修复方案求助
Ubuntu 23.10 Sources.list 更新报错但升级正常的修复方案求助
Hey Rahubathy,我看到你折腾了各种办法还是没解决Ubuntu更新源报错但升级能正常运行的问题,这种情况其实挺常见的,我给你梳理几个实用的排查修复步骤,你可以一步步试试:
先备份源文件,留好后路
不管怎么改,先把当前的源配置备份一份,避免改坏了没法恢复:sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak sudo cp -r /etc/apt/sources.list.d /etc/apt/sources.list.d.bak检查并清理无效/失效源
更新报错大概率是源列表里有无效条目,比如第三方PPA停更了、旧版本源下线了:- 打开主源文件编辑:
sudo nano /etc/apt/sources.list - 逐行查看,凡是你确定已经失效的源,在行首加
#注释掉,或者直接删除 - 别忘了检查
/etc/apt/sources.list.d/目录下的第三方源文件,同样清理失效条目 - 按
Ctrl+O保存,回车确认,再按Ctrl+X退出编辑器
- 打开主源文件编辑:
修复GPG签名类错误
如果报错里提到NO_PUBKEY或者签名验证失败,那是密钥问题:- 要是看到
NO_PUBKEY XXXXXXXX,先试试这个命令补密钥:
把命令里的sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys XXXXXXXXXXXXXXXX换成报错里的密钥串就行 - 注意
apt-key已经被官方弃用了,更规范的做法是把密钥存到/usr/share/keyrings/目录,比如某第三方源的密钥:
然后修改对应的源文件,把原来的curl -sS https://xxx.com/key.gpg | sudo gpg --dearmor -o /usr/share/keyrings/xxx-keyring.gpgdeb http://...改成:deb [signed-by=/usr/share/keyrings/xxx-keyring.gpg] http://xxx.com/repo/ ubuntu mantic main
- 要是看到
直接重置为官方默认源
要是手动清理太麻烦,干脆直接换回官方源:- 打开
sudo nano /etc/apt/sources.list,清空原有内容,替换成23.10(Mantic Minotaur)的官方源:deb http://archive.ubuntu.com/ubuntu/ mantic main restricted universe multiverse deb http://archive.ubuntu.com/ubuntu/ mantic-updates main restricted universe multiverse deb http://archive.ubuntu.com/ubuntu/ mantic-backports main restricted universe multiverse deb http://security.ubuntu.com/ubuntu/ mantic-security main restricted universe multiverse - 保存退出后,运行
sudo apt update试试
- 打开
清理缓存再重试
有时候缓存文件损坏也会导致报错,先清掉缓存再更新:sudo apt clean sudo apt autoclean sudo apt update
如果做完这些还是报错,你可以把sudo apt update输出的具体错误信息贴出来,这样能更精准定位问题~
备注:内容来源于stack exchange,提问作者Rahubathy
相关产品推荐
相关产品推荐

