gpgv: невозможно установить блокировку для '~/.gnupg/trustkeys.gpg' после импорта ключей
В настоящее время я пытаюсь настроить небольшое (частичное) зеркало ubuntu. При этом я наткнулся на
gpgv
. И поскольку мне нужен gpgv для проверки подписей зеркальных файлов, я попытался импортировать файлы связки ключей ubuntu в свою связку ключей через:
gpg --no-default-keyring --keyring trustedkeys.gpg --import /usr/share/keyrings/ubuntu-archive-keyring.gpg
Когда я тогда бегу
gpgv
, Мне выдали ошибку:
gpgv: can't allocate lock for '/home/sync_user/.gnupg/trustedkeys.gpg'
Однако когда я просто
cp /usr/share/keyrings/ubuntu-archive-keyring.gpg ~/.gnupg/trustedkeys.gpg
и беги
gpgv
, сообщения об ошибке нет.
Даже если у меня точно такие же разрешения и т. Д., Ошибка сохраняется в первом, но не во втором случае:
- Импортированные ключи:
sync_user@machine:~/.gnupg$ ls -lah
total 20K
drwx------ 2 sync_user sync_user 4.0K Aug 22 12:01 .
drwxr-xr-x 6 sync_user sync_user 4.0K Aug 21 16:59 ..
-rw------- 1 sync_user sync_user 1.2K Aug 22 11:55 trustdb.gpg
-rw-r--r-- 1 sync_user sync_user 7.8K Aug 22 11:55 trustedkeys.gpg
- Скопированный брелок:
sync_user@machine:~/.gnupg$ ls -lah
total 20K
drwx------ 2 sync_user sync_user 4.0K Aug 22 12:01 .
drwxr-xr-x 6 sync_user sync_user 4.0K Aug 21 16:59 ..
-rw------- 1 sync_user sync_user 1.2K Aug 22 11:55 trustdb.gpg
-rw-r--r-- 1 sync_user sync_user 7.3K Aug 22 12:03 trustedkeys.gpg
Еще одно замечание: это происходит точно так же с разными пользователями на одной и той же машине и на других машинах. Я пробовал это с ubuntu 20.04 и установкой Arch Linux - те же результаты.
В
gpgv --version
s:
gpgv (GnuPG) 2.2.19 libgcrypt 1.8.5
на ubuntu и
gpgv (GnuPG) 2.2.21 libgcrypt 1.8.6
на арке.
Есть ли у кого-нибудь идеи, в чем может заключаться такое поведение?
Буду благодарен за каждый комментарий.
2 ответа
Я обнаружил, что ошибки не возникает, если я коснусь файла перед импортом.
Итак, какtouch ~/.gnupg/trustedkeys.kbx
а потомgpg --export <key id> | gpg --no-default-keyring --keyring ~/.gnupg/trustedkeys.kbx --import
Прикосновение к файлу у меня не помогло.
Однако я запустил gpgv под strace и увидел следующее:
11857 close(3) = 0
11857 access("/var/cache/debmirror/.gnupg/trustedkeys.kbx", F_OK) = 0
11857 access("/var/cache/debmirror/.gnupg/trustedkeys.kbx", R_OK) = 0
11857 access("/var/cache/debmirror/.gnupg/trustedkeys.kbx", W_OK) = 0
11857 write(2, "gpgv: can't allocate lock for '/"..., 74) = 74
11857 write(2, "'\n", 2) = 2
11857 openat(AT_FDCWD, "Release.gpg", O_RDONLY) = 3
11857 read(3, "-----BEGIN PGP SIGNATURE-----\n\ni"..., 8192) = 1760
11857 read(3, "", 8192) = 0
11857 openat(AT_FDCWD, "Release", O_RDONLY) = 4
11857 read(4, "Origin: Debian\nLabel: Debian\nSui"..., 8192) = 8192
11857 read(4, "\n 345032ae178d52433929ef4b76962a"..., 8192) = 8192
Из этого я сделал вывод, что он жаловался не на то, чего не может сделать, а на то, что может.
Удаление разрешений на запись из файла устранило (вводящее в заблуждение) сообщение об ошибке... что также не помешало продолжению работы программы.