Для начала я должен заявить, что мой опыт работы с фрахтом и gpg очень ограничен. Меня попросили помочь с этим вопросом. По сути, всякий раз, когда мы пытаемся обслужить наши apt через freight-cache, мы получаем сообщение о том, что gpg-agent недоступен, и просит нас вручную ввести фразу-пароль, когда она должна получить его из файла. Причина, по которой это является проблемой, заключается в том, что мы выполняем перевозку из сценария, и сценарий не предлагает пользователю ввести пароль, что приводит к сбою сценария из-за истечения времени ожидания. После отладки и запуска с хост-машины мы получили следующее:
host:~$ freight-cache -p /home/host/gpg-passphrase
You need a passphrase to unlock the secret key for
user:*************
4096-bit RSA key, ID XXXXXXXX, created XXXX-XX-XX
gpg: gpg-agent is not available in this session
Enter passphrase:
host:~$ gpg-agent
gpg-agent[27264]: gpg-agent running and available
host:~$ gpg --version
gpg (GnuPG) 1.4.20
Copyright (C) 2015 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://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: ~/.gnupg
Supported algorithms:
Pubkey: RSA, RSA-E, RSA-S, ELG-E, DSA
Cipher: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH,
CAMELLIA128, CAMELLIA192, CAMELLIA256
Hash: MD5, SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224
Compression: Uncompressed, ZIP, ZLIB, BZIP2
host:~$ gpg-agent --version
gpg-agent (GnuPG) 2.1.11
libgcrypt 1.6.5
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://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.
host:~$ gpg2 --version
gpg (GnuPG) 2.1.11
libgcrypt 1.6.5
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://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: ~/.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 и gpg-agent теперь несовместимы, и вы должны использовать gpg2. Проблема в том, что кэш-память не использует gpg2.
Могу ли я получить некоторые рекомендации о том, как решить эту проблему?