Atualmente estou tendo problemas com a instalação de um pacote devido a uma chave ausente. Meu primeiro plano era atualizar meu keyring no entanto "pacman-key --refresh-keys" falha:
[user@hostname ~]$ sudo pacman-key --refresh-keys
gpg: refreshing 134 keys from hkp://pool.sks-keyservers.net
gpg: keyserver refresh failed: Permission denied
==> ERROR: A specified local key could not be updated from a keyserver.
Também tentei executá-lo em "su".
[user@hostname ~]$ su
Password:
[root@hostname user]# pacman-key --refresh-keys
gpg: refreshing 134 keys from hkp://pool.sks-keyservers.net
gpg: keyserver refresh failed: Permission denied
==> ERROR: A specified local key could not be updated from a keyserver.
Tentou executar o dirmngr manualmente para ver se há algum erro.
[user@hostname ~]$ sudo dirmngr < /dev/null
dirmngr[25316]: error opening '/root/.gnupg/dirmngr_ldapservers.conf': No such file or directory
dirmngr[25316.0]: permanently loaded certificates: 141
dirmngr[25316.0]: runtime cached certificates: 0
dirmngr[25316.0]: trusted certificates: 141 (140,0,0,1)
# Home: /root/.gnupg
# Config: [none]
OK Dirmngr 2.2.3 at your service
Eu notei o "erro ao abrir '/root/.gnupg/dirmngr_ldapservers.conf'" que havia sido mencionado nos fóruns do Arch Linux. Então criei um "/root/.gnupg/dirmngr_ldapservers.conf" em branco e executei dirmngr novamente. Eu também recebo um erro semelhante se eu executar o dirmngr sem o sudo, então criei um "/home/user/.gnupg/dirmngr_ldapservers.conf" em branco também.
[user@hostname ~]$ sudo dirmngr < /dev/null
dirmngr[28763.0]: permanently loaded certificates: 141
dirmngr[28763.0]: runtime cached certificates: 0
dirmngr[28763.0]: trusted certificates: 141 (140,0,0,1)
# Home: /root/.gnupg
# Config: [none]
OK Dirmngr 2.2.3 at your service
[user@hostname ~]$ dirmngr < /dev/null
dirmngr[32757.0]: permanently loaded certificates: 141
dirmngr[32757.0]: runtime cached certificates: 0
dirmngr[32757.0]: trusted certificates: 141 (140,0,0,1)
# Home: /home/user/.gnupg
# Config: [none]
OK Dirmngr 2.2.3 at your service
Removeu as pastas ".gnupg", executou "pacman-key --init" e depois tentou "pacman-key --refresh-keys".
[user@hostname ~]$ sudo rm -rf /root/.gnupg
[user@hostname ~]$ sudo rm -rf /home/user/.gnupg
[user@hostname ~]$ sudo pacman-key --init
[user@hostname ~]$ sudo pacman-key --refresh-keys
gpg: refreshing 134 keys from hkp://pool.sks-keyservers.net
gpg: keyserver refresh failed: Permission denied
==> ERROR: A specified local key could not be updated from a keyserver
Depois de remover os dois diretórios ".gnupg", executei dirmngr novamente.
[user@hostname ~]$ dirmngr --debug-level guru
dirmngr[18151]: enabled debug flags: x509 crypto memory cache memstat hashing ipc dns network lookup extprog
dirmngr[18151]: error opening '/home/user/.gnupg/dirmngr_ldapservers.conf': No such file or directory
dirmngr[18151.0]: permanently loaded certificates: 141
dirmngr[18151.0]: runtime cached certificates: 0
dirmngr[18151.0]: trusted certificates: 141 (140,0,0,1)
dirmngr[18151.0]: failed to open cache dir file '/home/user/.gnupg/crls.d/DIR.txt': No such file or directory
dirmngr[18151.0]: creating directory '/home/user/.gnupg'
dirmngr[18151.0]: creating directory '/home/user/.gnupg/crls.d'
dirmngr[18151.0]: new cache dir file '/home/user/.gnupg/crls.d/DIR.txt' created
dirmngr[18151.0]: DBG: chan_3 -> # Home: /home/user/.gnupg
# Home: /home/user/.gnupg
dirmngr[18151.0]: DBG: chan_3 -> # Config: [none]
# Config: [none]
dirmngr[18151.0]: DBG: chan_3 -> OK Dirmngr 2.2.3 at your service
OK Dirmngr 2.2.3 at your service
E agora estou completamente preso. Eu suspeitava que poderia haver algum tipo de problema de permissões com um arquivo necessário para o GPG, mas dado que eu deletei ambos os diretórios ".gnupg" e que eles foram regenerados, não vejo o que está errado.
Eu também tentei de tudo nesta página wiki: link tudo funcionou, incluindo o "sudo pacman-key --populate archlinux archlinux32 archlinuxarm parábola "comando mas" pacman-key --refresh-keys "ainda me deu o erro de permissões.
Tentei atualizar meu keyring diretamente com o gpg:
[user@hostname ~]$ sudo gpg2 --refresh-keys
gpg: directory '/root/.gnupg' created
gpg: keybox '/root/.gnupg/pubring.kbx' created
Então tentei fazer isso com o pacman-key:
[user@hostname ~]$ sudo pacman-key --refresh-keys
gpg: refreshing 135 keys from hkp://pool.sks-keyservers.net
gpg: keyserver refresh failed: Permission denied
==> ERROR: A specified local key could not be updated from a keyserver.
Então, isso falhou. Tentei com gpg2 para ver se a saída era a mesma:
[user@hostname ~]$ sudo gpg2 --refresh-keys
Não houve saída, por isso duvido que os arquivos criados estejam relacionados ao meu problema atual.
Como último esforço, tentei sem sudo e não obtive resultados:
[user@hostname ~]$ gpg2 --refresh-keys
Ainda está preso a isso. Até mesmo instalei o kgpg para gerar manualmente um arquivo de configuração para o gpg. No entanto, ainda estou recebendo esse erro de permissão.
Tags permissions keychain gpg