Я пытаюсь обновить версию git на компьютере с Debian 10 (buster) и сталкиваюсь с проблемами с ключом gpg.
> sudo add-apt-repository ppa:git-core/ppa
The most current stable version of Git for Ubuntu.
For release candidates, go to https://launchpad.net/~git-core/+archive/candidate .
More info: https://launchpad.net/~git-core/+archive/ubuntu/ppa
Press [ENTER] to continue or ctrl-c to cancel adding it
gpg: keybox '/tmp/tmpfqaimru3/pubring.gpg' created
gpg: /tmp/tmpfqaimru3/trustdb.gpg: trustdb created
gpg: key A1715D88E1DF1F24: public key "Launchpad PPA for Ubuntu Git Maintainers" imported
gpg: Total number processed: 1
gpg: imported: 1
gpg: no valid OpenPGP data found.
Я также пытался вручную добавить ключ, но все равно получаю ту же ошибку после успешного добавления ключа.
> sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A1715D88E1DF1F24
Executing: /tmp/apt-key-gpghome.pwYjc1J0zy/gpg.1.sh --keyserver keyserver.ubuntu.com --recv-keys A1715D88E1DF1F24
gpg: key A1715D88E1DF1F24: public key "Launchpad PPA for Ubuntu Git Maintainers" imported
gpg: Total number processed: 1
gpg: imported: 1
А также:
> gpg --export A1715D88E1DF1F24 | sudo apt-key add -
gpg: WARNING: nothing exported
gpg: no valid OpenPGP data found.
Не уверен, что я делаю неправильно. Я также сделал обновление несколько раз.
> sudo apt-get update
Как и в этой проблеме, проверьте, не видите ли вы просроченные ключи с помощью sudo apt-key list
В зависимости от того, что вы видите в /etc/apt/sources.list.d/
, вы можете вывести URL-адрес «gpgkey
» для импорта.
curl -L https://.../git-core/gpgkey | sudo apt-key add -
Я попробовал это в контейнере докера и
sudo add-apt-repository ppa:git-core/ppa
там тоже не работает. Но
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A1715D88E1DF1F24
sudo gpg --export A1715D88E1DF1F24 | sudo apt-key add -
работает.
обратите внимание, что единственное отличие от вашей команды в том, что я вызываю команду gpg --export
с помощью sudo.
Объяснение такого поведения состоит в том, что
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A1715D88E1DF1F24
импортирует ключ в связку ключей root. Поэтому, если вы вызовете команду без sudo gpg, вы не сможете найти импортированный ключ.