키에 액세스하려고 하면 GPG가 중단됩니다. 기존 솔루션에서는 Kill 을 제안했지만 gpg-agent
이는 도움이 되지 않았습니다. 디버그 로깅을 시도했지만(아래 참조) 아무 것도 얻을 수 없었습니다.
내 운영 체제는 MacOS Sonoma이고 Homebrew의 gpg 2.4.3을 실행하고 있습니다.
$ pkill -9 gpg-agent
~
$ gpg --version
gpg (GnuPG) 2.4.3
libgcrypt 1.10.2
Copyright (C) 2023 g10 Code GmbH
License GNU GPL-3.0-or-later <https://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Home: /Users/mporkola/.gnupg
Supported algorithms:
Pubkey: RSA, ELG, DSA, ECDH, ECDSA, EDDSA
Cipher: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH,
CAMELLIA128, CAMELLIA192, CAMELLIA256
Hash: SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224
Compression: Uncompressed, ZIP, ZLIB, BZIP2
~
$ gpg --list-secret-keys --keyid-format=long --debug-level guru
gpg: enabled debug flags: packet mpi crypto filter iobuf memory cache memstat trust hashing ipc clock lookup extprog
gpg: enabled compatibility flags:
gpg: DBG: [no clock] start
gpg: using pgp trust model
답변1
좋아요 이틀 전 macOS 설치가 중단된 후 무작위로 이 문제가 발생했습니다. 저는 macOS Sonoma 14.2.1을 실행하고 있습니다. 무슨 일이 일어나고 있는지 잘 모르겠습니다. find-file
.
내 Emacs를 정지시키는 명령은 다음과 같습니다:
/usr/local/bin/gpg --with-colons --no-greeting --batch --with-fingerprint --with-fingerprint --fixed-list-mode --list-keys "Frederick"
해결책
확실한 해결책(gpg 다운그레이드)
Doom Emacs 저장소에서 겉으로 보기에 관련이 없어 보이는 이 문제에 대한 대응으로 Arch Linux 사용자는 gpg
파일을 저장할 때 중단이 발생한다고 보고했습니다. 그들의 해결책은 [email protected]
최신 버전에 문제가 있는 것 같아서 설치하는 것입니다 2.4.3
.
[domemacs/domemacs] epa로 암호화된 조직 .gpg 파일을 저장할 수 없습니다 #7589
그들의 해결책은 로 다운그레이드하는 것이었기 때문에 [email protected]
나도 같은 접근 방식을 시도할 것이라고 생각했습니다. 다음 명령을 실행하는 것 같습니다그냥 일이야:
brew uninstall --ignore-dependencies gnupg; # uninstall gpg
brew install [email protected]; # install [email protected]
brew link [email protected]; # link the new version of gpg to /usr/local/bin
이 명령을 실행하면 모든 것이 다음과 같이 보입니다.그냥 일이야. 위 명령은 더 이상 중단되지 않습니다.
gpg v2.4.3
일을 시작하다
워킹버전 설치 과정을 모두 진행하기 전 [email protected]
처음으로 hang 명령어를 실행했을 때 lock 획득에 실패했습니다 ~/.gnupg
. 활동 모니터를 보면 많은 수의 gpg
프로세스가 실행 중인 것을 볼 수 있습니다. killall gpg
프로세스를 매우 빠르게 종료합니다.
에 있는 잠금 파일을 삭제했습니다 ~/.gnupg/gnupg_spawn_keyboxd_sentinel.lock
. 쓸모 없는. 이것은 제가 설치를 시작한 때의 이야기입니다 [email protected]
.
하지만나중에 보니 그런 게 있었다.다른파일을 잠급니다. 즉, ~/.gnupg/public-keys.d/pubring.db.lock
.처음에는 이 잠금 파일을 삭제하지 않았습니다.
그래서. 최신 것을 다시 설치하자 gnupg
... 그 전에는 그 잠금 파일을 삭제하지 않았습니다.
- 주문하다:
brew uninstall --ignore-dependencies [email protected]; brew install gnupg;
gpg
붙어 있는지 확인하십시오 .
기이! (?) 아직도 막혀있습니다./usr/local/bin/gpg --with-colons --no-greeting --batch --with-fingerprint --with-fingerprint --fixed-list-mode --list-keys "Frederick"
~/.gnupg/gnupg_spawn_keyboxd_sentinel.lock
이제 및 에서 잠금 파일을 삭제하면 ~/.gnupg/public-keys.d/pubring.db.lock
위 명령이 작동하는 것 같습니다!
아직 몇 가지 질문이 있습니다.
위의 @Kusalananda의 의견과 관련하여 설정에 GnuPG 키가 있는지 모르겠습니다. 어쩌면 내가 그랬을까요? 그러나 패키지에 대해서는
[email protected]
(gnupg
일단 작동하게 한 후) 다음과 같은 메시지를 받았습니다.gpg: error reading key: No public key
음...흥미롭군요.
그러나 이것이 발생하는 이유는 무엇입니까?
- 이것은 좋은 질문입니다. Emacs가 잘 작동했는데 정전이 발생하여 작동이 멈췄습니다(정지로 인해
gpg
). gnupg
2.4.3
작성 시점을 기준으로 약 9개월 전으로 업데이트되었습니다. 그래서 업그레이드 문제는 아닌 것 같아요. 정전이 발생한 후 해당 db.lock
파일을 처리하고[email protected]
설치에 이 문제가 발생하지 않았다는 점을 고려하면 db.lock
파일을 존중하는 무언가가 도입되었을 수도 있습니다. 추측만 해보면...
- 이것은 좋은 질문입니다. Emacs가 잘 작동했는데 정전이 발생하여 작동이 멈췄습니다(정지로 인해
분실된 키에 대한 위의 설명과 이러한 메시지를 받았다는 사실을 판단해 보면 아마도 이것이 관련이 있을 것입니다. 열쇠를 가지고 있었는데 손상된 것인지 아닌지 잘 모르겠습니다. 어느 쪽이든 이것은 사실이 아닌 것 같습니다
[email protected]
.
나는 원래 Doom Emacs Github 이슈 트래커의 다른 이슈에 내 이슈를 게시했습니다. 사용자가 정전을 경험하여 더 이상 파일을 열 수 없습니다. 정전이 우리가 겪고 있는 문제와 관련이 있는지 궁금합니다 gpg
. 아무런 문제도 보고하지 않았지만 gpg
디버깅 정보를 많이 공개하지 않는 것 같습니다.