현재 누락된 키로 인해 패키지를 설치하는 데 문제가 있습니다. 내 첫 번째 계획은 내 키링을 업데이트하는 것이었지만 "pacman-key --refresh-keys"가 실패했습니다.
[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.
또한 "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.
오류가 있는지 확인하려면 dirmngr을 수동으로 실행해 보세요.
[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
Arch Linux 포럼에서 "'/root/.gnupg/dirmngr_ldapservers.conf' 열기 오류"에 대한 언급을 발견했습니다. 그래서 빈 "/root/.gnupg/dirmngr_ldapservers.conf"를 만들고 dirmngr을 다시 실행했습니다. sudo 없이 dirmngr을 실행하면 비슷한 오류가 발생하므로 빈 "/home/user/.gnupg/dirmngr_ldapservers.conf"도 만듭니다.
[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
".gnupg" 폴더를 모두 삭제하고 "pacman-key --init"를 실행한 다음 "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
두 개의 ".gnupg" 디렉터리를 삭제한 후 dirmngr을 다시 실행했습니다.
[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
이제 나는 완전히 갇혔습니다. GPG에 필요한 파일에 일종의 권한 문제가 있을 수 있다고 생각하지만 ".gnupg" 디렉터리를 모두 삭제하고 다시 생성했다는 점을 고려하면 문제가 무엇인지 알 수 없습니다.
나는 또한 이 위키 페이지에서 모든 것을 시도했습니다:https://wiki.parabola.nu/Parabola_Keyring"sudo pacman-key --populate archlinux archlinux32 archlinuxarm parabola" 명령을 포함하여 모든 것이 잘 작동하지만 "pacman-key --refresh-keys"를 사용하면 여전히 권한 오류가 발생합니다.
gpg를 직접 사용하여 키링을 새로 고쳐 보았습니다.
[user@hostname ~]$ sudo gpg2 --refresh-keys
gpg: directory '/root/.gnupg' created
gpg: keybox '/root/.gnupg/pubring.kbx' created
그런 다음 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.
그래서 실패했습니다. gpg2를 사용해 보고 출력이 동일한지 확인하십시오.
[user@hostname ~]$ sudo gpg2 --refresh-keys
출력이 없으므로 생성된 파일이 현재 문제와 관련이 있는 것으로 의심됩니다.
최후의 노력으로 sudo 없이 시도했지만 결과가 나오지 않았습니다.
[user@hostname ~]$ gpg2 --refresh-keys
아직도 그걸 붙잡고 있어요. gpg 구성 파일을 수동으로 생성하기 위해 kgpg를 설치하기도 했습니다. 그러나 여전히 이런 권한 오류가 발생합니다.
답변1
~/.gnupg/gpg.conf에서 키 서버를 전환하세요. 현재 정의된 키 서버는 404일 가능성이 높습니다.