执行apt update时遇到Conflicting values错误的求助
执行apt update时遇到Conflicting values错误的求助
看起来你是因为同时执行了PostgreSQL的自动仓库配置脚本和手动配置步骤,导致apt源的签名文件路径冲突了。别担心,咱们一步步来解决这个问题:
问题原因
自动配置脚本apt.postgresql.org.sh已经帮你配置好了指向/usr/share/postgresql-common/pgdg/apt.postgresql.org.gpg的签名源,而你手动配置时又添加了使用.asc后缀签名文件的源条目,apt检测到同一个PostgreSQL源有两个不同的签名配置,因此抛出了冲突错误。
解决步骤
先找到PostgreSQL相关的源配置文件,它通常在
sources.list.d目录下:ls /etc/apt/sources.list.d/你应该能看到类似
pgdg.list的文件。用文本编辑器打开这个源文件(以
pgdg.list为例):sudo nano /etc/apt/sources.list.d/pgdg.list在文件中找到所有指向
https://apt.postgresql.org/pub/repos/apt/ noble-pgdg的行,你会发现其中一行的Signed-By参数是.asc文件,另一行是.gpg文件:- 最简单的方式是保留自动脚本生成的那一行(通常是带
.gpg后缀的),删除手动添加的.asc那一行; - 或者把所有
Signed-By参数统一改成同一个路径,比如都用/usr/share/postgresql-common/pgdg/apt.postgresql.org.gpg。
- 最简单的方式是保留自动脚本生成的那一行(通常是带
保存并退出编辑器(nano中按
Ctrl+O回车保存,再按Ctrl+X退出)。最后重新执行更新命令,验证问题是否解决:
sudo apt update
如果还是有问题,也可以尝试先移除PostgreSQL的源配置,再重新运行自动配置脚本:
sudo rm /etc/apt/sources.list.d/pgdg.list sudo /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh sudo apt update
备注:内容来源于stack exchange,提问作者Butter




