"pacman -Syu"无法运行:PGP密钥无效。

15

我正在尝试使用pacman -Syu进行完整系统升级。 它显示:

:: File /var/cache/pacman/pkg/turbulence-0.3.5-1-any.pkg.tar.xz is corrupted (invalid or corrupted package (PGP signature)). 
Do you want to delete it? [Y/n]

有办法修复这个问题吗?


在 pacman 的 bug 追踪器中有一个关于此问题的 错误报告 - Matthias Braun
4个回答

27

有很多文章建议您编辑pacman.config文件并完全删除PGP密钥检查,但这并不是一个好主意。

只需运行此命令并等待从服务器下载密钥进行刷新:

$ sudo pacman-key --refresh-keys

接着进行系统完整升级 sudo pacman -Syu


6
这个对我来说解决了一切。它就像告诉pacman忽略关键检查一样容易,但更安全,所以不使用这个解决方案似乎很愚蠢。 - Ponkadoodle
4
对我来说,这些解决方案都没有帮助,所以绕过完整性检查的快捷方式是将/etc/pacman.conf中的SigLevel更改为SigLevel = Never TrustAll。请自行承担风险!:-D - rlf89

15

如果密钥已经大量过期或者使用pacman-key --refresh-keys命令未能生效,您可能也会对运行pacman-key --populate感兴趣。


2
有时从零开始(首先清理PGP密钥)是一个不错的选择:
rm -rf /etc/pacman.d/gnupg  
pacman-key --init 
pacman-key --populate

0

我在使用一个(非常)过时的Arch版本时遇到了这个问题。

如果其他人在使用Docker时也遇到了这个问题,可以尝试下载一个新的镜像(docker pull archlinux),而不是直接刷新密钥。

我认为这很有用,因为其他答案对我没有用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接