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, сообщения об ошибке нет.

Даже если у меня точно такие же разрешения и т. Д., Ошибка сохраняется в первом, но не во втором случае:

  1. Импортированные ключи:
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
  1. Скопированный брелок:
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 --versions: 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

Из этого я сделал вывод, что он жаловался не на то, чего не может сделать, а на то, что может.

Удаление разрешений на запись из файла устранило (вводящее в заблуждение) сообщение об ошибке... что также не помешало продолжению работы программы.

Другие вопросы по тегам