zaLinux.ru

Warning: apt-key is deprecated (РЕШЕНО)


Команда 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 | sudo gpg --no-default-keyring --keyring gnupg-ring:/etc/apt/trusted.gpg.d/ИМЯ.gpg --import

В этих командах нужно подставить:

  • URL — адрес файла .pub
  • ИМЯ — можно выбрать любое имя файла
  • ФАЙЛ — имя файла .pub

Затем обязательно выполнить следующую команду для установки правильных прав доступа к файлу:

sudo chmod 644 /etc/apt/trusted.gpg.d/ИМЯ.gpg

Пример. Если вы уже знаете URL-адрес требуемого открытого ключа, используйте wget или curl для его загрузки и импорта. Не забудьте обновить права доступа к файлам с 600 до 644.


curl -s https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo gpg --no-default-keyring --keyring gnupg-ring:/etc/apt/trusted.gpg.d/earth.gpg --import
sudo chmod 644 /etc/apt/trusted.gpg.d/earth.gpg

Кроме того, можно получить ключ с сервера ключей:

sudo gpg --no-default-keyring --keyring gnupg-ring:/etc/apt/trusted.gpg.d/rabbit.gpg --keyserver keyserver.ubuntu.com --recv 6B73A36E6026DFCA
sudo chmod 644 /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

Как удалить ключ, добавленный новым методом

Если вам нужен аналог команды:

sudo apt-key del 7D8D08F6

То теперь для удаления ключа, просто удалите файл командами вида:

cd /etc/apt/trusted.gpg.d/
sudo rm ИМЯ.gpg

Но и apt-key del тоже работает.

Как удалить ключ, добавленный с помощью apt-key add

Если вы хотите удалить отдельные ключи, то используйте команду вида:

sudo apt-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

Для удаления этого ключа нужно запустить команду (обратите внимание, что из хеша убраны пробелы):


sudo apt-key del EB4C1BFD4F042F6DDDCCEC917721F63BD38B4796

Как удалить все ключи, добавленные с помощью apt-key add

Просто удалите файл /etc/apt/trusted.gpg:

sudo rm /etc/apt/trusted.gpg

Полезные ссылки:


Рекомендуемые статьи:

5 Комментарии

  1. ALEXEY

    спасибо большое! кроме curl -s URL | sudo gpg …, аналогичный пример с wget:

    wget -qO - URL | sudo gpg --no-default-keyring --keyring gnupg-ring:/etc/apt/trusted.gpg.d/ИМЯ.gpg --import
    
  2. alex

    cd /etc/apt

    cp trusted.gpg trusted.gpg.d

    И вся статья…

     

    1. ASHILTINEC

      Большое Вам спасибо. Вы очень помогли. 

    2. Dexel

      Чуть веселей: mv trusted.gpg trusted.gpg.d/ чтоб не ругался на старые ключи в дальнейшем

      1. Егор

        Красавчик!

Добавить комментарий для Dexel Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *