Команда apt-key управляет ключами, которые отвечают за проверку подписи репозиториев пакетов приложений.
Теперь при любом использовании команды apt-key вы будете получать сообщение:
Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
Оно означает, что программа apt-key теперь устарела. Для управления файлами ключей теперь используйте trusted.gpg.d. Если перевести на человеческий язык, теперь мы должны самостоятельно добавлять файлы в папку /etc/apt/trusted.gpg.d/.
Этот метод будет использовать каталог /etc/apt/trusted.gpg.d/ для хранения файлов открытого кольца GPG-ключей. Он доступен с начала 2017 года.
Если открыть рекомендованную страницу справки (man apt-key), что там написано, что данная команда и все её функции устарели.
Есть два варианта, как можно поступить в данной ситуации.
Можно продолжать использовать apt-key
Несмотря на заверения в документации, программа apt-key работает как обычно и выполняет все свои функции.
При этом команду apt-key не удалят ещё довольно долго, как минимум несколько лет. Возможно, для совместимости не удалят вовсе.
Поэтому, в принципе, можно не обращать внимание на предупреждение «apt-key is deprecated».
Как добавлять ключи новым способом
Новый «современный» вариант плохо документирован, попробуем восполнить этот пробел.
Теперь ключи надо добавлять командами следующего вида.
Если добавляется удалённый файл ключей:
curl -s URL | sudo
gpg --no-default-keyring --keyring gnupg-ring:/etc/apt/trusted.gpg.d/ИМЯ.gpg --import
Если добавляется локальный файл ключей:
cat ФАЙЛ.pub | sudogpg --no-default-keyring --keyring gnupg-ring:/etc/apt/trusted.gpg.d/ИМЯ.gpg --import
В этих командах нужно подставить:
- URL — адрес файла .pub
- ИМЯ — можно выбрать любое имя файла
- ФАЙЛ — имя файла .pub
Затем обязательно выполнить следующую команду для установки правильных прав доступа к файлу:
sudo chmod644 /etc/apt/trusted.gpg.d/ИМЯ.gpg
Пример. Если вы уже знаете URL-адрес требуемого открытого ключа, используйте wget или curl для его загрузки и импорта. Не забудьте обновить права доступа к файлам с 600 до 644.
curl -s https://dl-ssl.google.com/linux/linux_signing_key.pub | sudogpg --no-default-keyring --keyring gnupg-ring:/etc/apt/trusted.gpg.d/earth.gpg --import
sudo chmod644 /etc/apt/trusted.gpg.d/earth.gpg
Кроме того, можно получить ключ с сервера ключей:
sudogpg --no-default-keyring --keyring gnupg-ring:/etc/apt/trusted.gpg.d/rabbit.gpg --keyserver keyserver.ubuntu.com --recv 6B73A36E6026DFCAsudochmod644 /etc/apt/trusted.gpg.d/rabbit.gpg
Как просмотреть информацию об установленных ключах
Чтобы просмотреть информацию об установленном ключе выполните команду вида:
gpg --list-keys --keyring /etc/apt/trusted.gpg.d/ФАЙЛ.gpg
Например:
gpg --list-keys --keyring /etc/apt/trusted.gpg.d/earth.gpg
Как уже было сказано, старая команда тоже работает:
apt-key list
Как удалить ключ, добавленный новым методом
Если вам нужен аналог команды:
sudoapt-key del 7D8D08F6
То теперь для удаления ключа, просто удалите файл командами вида:
cd/etc/apt/trusted.gpg.d/
sudorm ИМЯ.gpg
Но и apt-key del тоже работает.
Как удалить ключ, добавленный с помощью apt-key add
Если вы хотите удалить отдельные ключи, то используйте команду вида:
sudoapt-key del ИДЕНТИФИКАТОР_КЛЮЧА
Чтобы узнать ИДЕНТИФИКАТОР_КЛЮЧА выполните команду
apt-key list
найдите нужный ключ, например:
/etc/apt/trusted.gpg
--------------------
pub rsa4096 2016-04-12 [SC]
EB4C 1BFD 4F04 2F6D DDCC EC91 7721 F63B D38B 4796
uid [ неизвестно ] Google Inc. (Linux Packages Signing Authority) <linux-packages-keymaster@google.com>
sub rsa4096 2019-07-22 [S] [ годен до: 2022-07-21]
Посмотрите на последовательность цифр и букв в поле pub — это хеш. В данном примере нас интересует строка
EB4C 1BFD 4F04 2F6D DDCC EC91 7721 F63B D38B 4796
Для удаления этого ключа нужно запустить команду (обратите внимание, что из хеша убраны пробелы):
sudoapt-key del EB4C1BFD4F042F6DDDCCEC917721F63BD38B4796
Как удалить все ключи, добавленные с помощью apt-key add
Просто удалите файл /etc/apt/trusted.gpg:
sudorm/etc/apt/trusted.gpg