В Ubuntu 22.04 и свежих Debian теперь считается устаревшей (deprecated) утилита apt-key и скоро она будет выпилена.
Чтобы не получать сообщения вида:
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY C6ABDC... W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: .....
и
Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead
и
Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
Нужно добавлять ключи в /etc/apt/trusted.gpg.d/, при этом сделав над ними
gpg --dearmor
примерно так:
sudo apt-get update sudo apt install gnupg2 wget ca-certificates lsb-release software-properties-common gpg_key_url="https://packagecloud.io/slacktechnologies/slack/gpgkey" gpg_keyring_path="/etc/apt/trusted.gpg.d/slack-keyring.gpg" curl -fsSL "${gpg_key_url}" | gpg --dearmor | sudo tee ${gpg_keyring_path} sudo apt-get clean sudo apt-get update
При этом, в Ubuntu 22.04 добавление pgp-файла в /usr/share/keyrings/ не решало проблему. Добавлять файл нужно в /etc/apt/trusted.gpg.d/
Либо, пока не свосем выпилили apt-key:
gpg_key_url="https://packagecloud.io/slacktechnologies/slack/gpgkey" gpg_keyring_path="/etc/apt/trusted.gpg.d/slack-keyring.gpg" wget -q -O - $gpg_key_url | sudo apt-key --keyring $gpg_keyring_path add -
Для packages.cloud.google.com/apt :
gpg_key_url=https://packages.cloud.google.com/apt/doc/apt-key.gpg gpg_keyring_path="/etc/apt/trusted.gpg.d/cloud-google-keyring.gpg" curl -fsSL "${gpg_key_url}" | gpg --dearmor | sudo tee ${gpg_keyring_path}
Или так, как указано в мануалах hashicorp:
wget -O- https://apt.releases.hashicorp.com/gpg | gpg --dearmor | sudo tee /usr/share/keyrings/hashicorp-archive-keyring.gpg wget -O- https://packagecloud.io/slacktechnologies/slack/gpgkey | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/slack-keyring.gpg
Discussion