Arch Linux 系统更新:错误:GPGME 错误:无数据

Lol*_*lly 0 linux archlinux pacman-package-manager

当我最终决定升级运行 vanilla Arch Linux 的笔记本电脑时(由于互联网问题),我不断收到如下错误:

$ sudo pacman -Syu
:: Synchronizing package databases...
 core                     126.8 KiB   125K/s 00:01 [######################] 100%
 extra                   1639.9 KiB   221K/s 00:07 [######################] 100%
 community                  4.2 MiB   169K/s 00:26 [######################] 100%
 multilib                 168.6 KiB   169K/s 00:01 [######################] 100%
 archlinuxfr               11.5 KiB  0.00B/s 00:00 [######################] 100%
 xorg116                    6.3 KiB  20.5K/s 00:00 [######################] 100%
 xorg116.sig                6.3 KiB  0.00B/s 00:00 [######################] 100%
error: GPGME error: No data
error: failed to update xorg116 (invalid or corrupted database (PGP signature))
 catalyst                   6.3 KiB  0.00B/s 00:00 [######################] 100%
 catalyst.sig               6.4 KiB  0.00B/s 00:00 [######################] 100%
error: GPGME error: No data
error: failed to update catalyst (invalid or corrupted database (PGP signature)) 
error: database 'xorg116' is not valid (invalid or corrupted database (PGP signature))
error: database 'catalyst' is not valid (invalid or corrupted database (PGP signature))  
Run Code Online (Sandbox Code Playgroud)

由于互联网问题,我已经将近一个月或更长时间没有更新/升级了。我尝试了人们建议在其他网站上做的所有事情,包括堆栈溢出,但都没有奏效。

我试过的:

$ sudo pacman -Rdd catalyst                             47.6s ? Fri 21:44
error: GPGME error: No data
error: GPGME error: No data
error: target not found: catalyst

$ sudo pacman -Syu                                              Fri 21:44
error: GPGME error: No data
error: GPGME error: No data
**and the same thing as "$ sudo pacman -Syu"**

This is also the same output for $ sudo pacman -Syy
Run Code Online (Sandbox Code Playgroud)

我也试过

$ sudo pacman -Scc
$ sudo pacman-key --init
$ sudo pacman-key --populate archlinux                     1394ms ? Fri 
==> Appending keys from archlinux.gpg...
==> Locally signing trusted keys in keyring...
  -> Locally signing key DDB867B92AA789C165EEFA799B729B06A680C281...
  -> Locally signing key 684148BB25B49E986A4944C55184252D824B18E8...
  -> Locally signing key 91FFE0700E80619CEB73235CA88E23E377514E00...
  -> Locally signing key AB19265E5D7D20687D303246BA1DFB64FFF979E7...
  -> Locally signing key 0E8B644079F599DFC1DDC3973348882F6AC6A4C2...
 ==> Importing owner trust values...
==> Disabling revoked keys in keyring...
  -> Disabling key 7FA647CD89891DEDC060287BB9113D1ED21E1A55...
  -> Disabling key D4DE5ABDE2A7287644EAC7E36D1A9E70E19DAA50...
  -> Disabling key 40440DC037C05620984379A6761FAD69BA06C6A9...
  -> Disabling key B1F2C889CB2CCB2ADA36D963097D629E437520BD...
  -> Disabling key BC1FBE4D2826A0B51E47ED62E2539214C6C11350...
  -> Disabling key 63F395DE2D6398BBE458F281F2DBB4931985A992...
  -> Disabling key 8F76BEEA0289F9E1D3E229C05F946DED983D4366...
  -> Disabling key 4FCF887689C41B09506BE8D5F3E1D5C5D30DB0AD...
  -> Disabling key 81D7F8241DB38BC759C80FCE3A726C6170E80477...
  -> Disabling key 5E7585ADFF106BFFBBA319DC654B877A0864983E...
  -> Disabling key E7210A59715F6940CF9A4E36A001876699AD6E84...
  -> Disabling key F5A361A3A13554B85E57DDDAAF7EF7873CFD4BB6...
  -> Disabling key 8CF934E339CAD8ABF342E822E711306E3C4F88BC...
  -> Disabling key 5696C003B0854206450C8E5BE613C09CB4440678...
  -> Disabling key 9515D8A8EAB88E49BB65EDBCE6B456CAF15447D5...
  -> Disabling key 4A8B17E20B88ACA61860009B5CED81B7C2E5C0D2...
  -> Disabling key 0B20CA1931F5DA3A70D0F8D2EA6836E1AB441196...
  -> Disabling key 34C5D94FE7E7913E86DC427E7FB1A3800C84C0A5...
  -> Disabling key 39F880E50E49A4D11341E8F939E4F17F295AFBF4...
  -> Disabling key 66BD74A036D522F51DD70A3C7F2A16726521E06D...
  -> Disabling key 44D4A033AC140143927397D47EFD567D4C7EA887...
  -> Disabling key 27FFC4769E19F096D41D9265A04F9397CDFD6BB0...
==> Updating trust database...
gpg: next trustdb check due at 2018-06-25
Run Code Online (Sandbox Code Playgroud)

但没有任何效果,根本没有任何变化。
有谁知道为什么会这样?是不是我很久没有更新Arch Linux了?我怎样才能解决这个问题?

谢谢!

Mcl*_*Hrk 5

删除然后更新

在终端

  1. $ sudo rm -R /var/lib/pacman/sync
  2. $ sudo pacman -Syu

  • 我知道这可能为时已晚,但它可能会帮助其他路过的旅伴:对于 pamac 来说,诀窍是强制刷新,就像这样:`pamac Upgrade --force-refresh` 我遇到了同样的问题已经困扰我至少4天了!它消失了! (3认同)
  • @McloHrk 答案的更新是错误的。@Dennis Braga 正在谈论 pacman 包装器“pamac”。Pacman 本身没有这样的命令和选项。因此,除非使用“pamac”,否则它甚至不是真正的替代方案。 (2认同)

Ste*_*fan 1

首先,当您启用了自定义存储库(archlinuxfr、xorg116、catalyst)时,您运行的并不是“vanilla Arch Linux”。您可以在以下位置禁用它们/etc/pacman.conf

关于您的问题,您很可能没有安装存储库所需的密钥。您可以通过启用已签名的非官方用户存储库pacman-key -r Key-ID。如果这不起作用,您还可以禁用检查签名。

另请参阅AMD Catalyst了解更多信息。