首次安装Linux执行sudo apt update遇三类报错求助
嘿,作为首次折腾Linux的新手,碰到sudo apt update一堆报错确实挺闹心的——我帮你一步步拆解这三类常见问题,都是新手常踩的坑,咱们一个个解决:
1. 「target content is configured multiple times」(源重复配置)
这个错误说白了就是同一个软件源在你的系统里被添加了不止一次,可能是你手动重复添加,也可能是某些软件安装时自动加了同款源。
解决步骤:
- 先定位重复的源:把报错里提到的重复源地址(比如
deb http://xxx.xxx.com/xxx)替换到下面的命令里,执行后就能找到重复的配置文件和行号:grep -r "这里替换成报错里的重复源地址" /etc/apt/sources.list /etc/apt/sources.list.d/ - 打开对应的配置文件(比如
/etc/apt/sources.list或者sources.list.d文件夹下的某个.list文件),删掉重复的那一行,或者在行首加#注释掉它。 - 嫌手动找麻烦?也可以用命令直接移除重复源,同样替换成报错里的源内容:
sudo apt-add-repository --remove "这里替换成报错里的重复源内容"
2. 「the repository does not have a Release file」(源无Release文件)
这个问题大多是源地址无效或者该源已经停止维护,比如第三方项目倒闭了,或者你用了对应发行版的旧源。
解决步骤:
- 如果是第三方源:先确认这个项目是不是还在更新,要是已经凉了,直接删掉对应的配置文件就行:
sudo rm /etc/apt/sources.list.d/xxx.list # 把xxx换成那个源的文件名 - 如果是官方源:大概率是你选的镜像地址有问题,换成国内靠谱的镜像(比如清华、阿里云的),步骤如下:
- 先备份原来的源文件,以防改错:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak - 打开源文件编辑:
sudo nano /etc/apt/sources.list - 把里面的内容替换成你对应发行版的国内镜像(比如Ubuntu 22.04的清华源内容,直接复制进去就行):
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 - 按
Ctrl+O保存,回车确认,再按Ctrl+X退出编辑器。
- 先备份原来的源文件,以防改错:
3. 「Err 404 not found」(资源找不到)
这个是最常见的,原因要么是源地址里的版本代号写错了,要么是你的发行版版本已经停止官方支持(比如Ubuntu 18.04这类旧版本)。
解决步骤:
- 先确认自己系统的版本代号:执行下面的命令就能看到:
lsb_release -c - 检查源文件里的版本代号是不是和上面输出的一致,比如你系统是jammy(22.04),源里却写了focal(20.04),那肯定会404,改成正确的代号就行。
- 如果是旧版本系统停止支持了:把源地址里的
archive.ubuntu.com换成old-releases.ubuntu.com,比如把deb http://archive.ubuntu.com/ubuntu/ jammy main改成deb http://old-releases.ubuntu.com/ubuntu/ jammy main。
处理完所有问题后,再重新执行sudo apt update,正常情况下应该就不会报错了。如果还有残留问题,把报错里的具体源信息贴出来,咱们再针对性调整~
内容的提问来源于stack exchange,提问作者Ahmed Fouad

