Команда 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
Полезные ссылки:
Связанные статьи:
- dpkg: ошибка при обработке пакета ...: пакет абсолютно неработоспособен; перед настройкой его следует переустановить (РЕШЕНО) (100%)
- Как исправить ошибку «E: Sub-process /usr/bin/dpkg returned an error code (2)» (100%)
- dpkg: ошибка: fgets прочитал пустую строку из «/var/lib/dpkg/triggers/Unincorp» (РЕШЕНО) (100%)
- Безопасно ли удалять файлы настроек, оставшиеся после удалённых пакетов? (РЕШЕНО) (97.5%)
- При установке пакетов лучше указывать только главный пакет или все его зависимости? (95.1%)
- Как в Linux Mint и Ubuntu увеличить и раздел подкачки. Как в Linux создать файл подкачки Swap (RANDOM - 50%)
спасибо большое! кроме curl -s URL | sudo gpg …, аналогичный пример с wget:
cd /etc/apt
cp trusted.gpg trusted.gpg.d
И вся статья...
Большое Вам спасибо. Вы очень помогли.
Чуть веселей: mv trusted.gpg trusted.gpg.d/ чтоб не ругался на старые ключи в дальнейшем
Красавчик!