Warning: apt-key is deprecated

  Linux admin, Linux DE

Команда 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 4796uid         [ неизвестно ] 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