Главная

Ubuntu 22.04 решение apt-key is deprecated

Категория Инструкции
May 25, 2023
Ubuntu 22.04 решение apt-key is deprecated

Решение ошибки apt-key add deprecated в ubuntu 22.04 LTS


С выходом новой версии ubuntu команда apt-key была помечена как устаревшая. Теперь при использовании команды apt-key вы получите предупреждение. И это предупреждение будет вам мозолить глаза каждый раз, когда вы запускаете apt update

Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).

Для начала посмотрим официальную документацию (man apt-key). В сообщении видим, что команда apt-key является устаревшей и будет со временем удалена.

DESCRIPTION
apt-key is used to manage the list of keys used by apt to authenticate packages. Packages which have been authenticated using these keys will be considered trusted.
Use of apt-key is deprecated, except for the use of apt-key del in maintainer scripts to remove existing keys from the main keyring. If such usage of apt-key is desired the additional installation of the
GNU Privacy Guard suite (packaged in gnupg) is required.
apt-key(8) will last be available in Debian 11 and Ubuntu 22.04.

Новый метод установки ключей

Новый метод установки без использования apt-key

Не забудьте поменять переменные $URL $NAME

Поставим ключ в новое расположение в папку /etc/apt/trusted.gpg.d/

wget -qO - $URL | sudo gpg --dearmor -o /usr/share/keyrings/$NAME.gpg

Просмотр ключей в новой цепочке

gpg --list-keys --keyring /etc/apt/trusted.gpg.d/$NAME.gpg

Команда выведет в консоль весь список ключей которые хранятся в данном файле.

Или, как вариант, все еще можно посмотреть все ключи с помощью команды apt-key list

Перенос ключей из apt-key в новое расположение

Для примера, возьмем ключ Hashicorp который был добавлен старым методом (через apt-key add -) Получим список всех ключей apt-key list и найдем наш ключ

/etc/apt/trusted.gpg
--------------------
pub   rsa4096 2023-01-10 [SC] [expires: 2028-01-09]
      798A EC65 4E5C 1542 8C8E  42EE AA16 FCBC A621 E701
uid           [ unknown] HashiCorp Security (HashiCorp Package Signing) <[email protected]>
sub   rsa4096 2023-01-10 [S] [expires: 2028-01-09]

Он находится по умолчанию в /etc/apt/trusted.gpg

Для начала нужно узнать его pubkey ID, тут все просто, последние 8 символов отпечатка ключа (секция pub) являются его ID. В моем примере это A621E701

Переносим

sudo gpg --keyring /etc/apt/trusted.gpg --output - --export A621E701 | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/hashicorp.gpg

Проверяем что ключ существует в новом месте

gpg --list-keys --keyring /etc/apt/trusted.gpg.d/hashicorp.gpg

Видим, что наш ключ там где нужно

/etc/apt/trusted.gpg.d/hashicorp.gpg
---------------------------------
pub   rsa4096 2023-01-10 [SC] [expires: 2028-01-09]
      798AEC654E5C15428C8E42EEAA16FCBCA621E701
uid           [ unknown] HashiCorp Security (HashiCorp Package Signing) <[email protected]>
sub   rsa4096 2023-01-10 [S] [expires: 2028-01-09]

Удалим ключ из старого расположения

apt-key del A621E701

Массовый перенос ключей из trusted.gpg

Команда в одну строчку для переноса всех ключей из trusted.gpg в /etc/apt/trusted.gpg.d/imported-from-trusted-gpg-$K.gpg

for KEY in $(apt-key --keyring /etc/apt/trusted.gpg list | grep -E "(([ ]{1,2}(([0-9A-F]{4}))){10})" | tr -d " " | grep -E "([0-9A-F]){8}\b" ); do K=${KEY:(-8)}; apt-key export $K | sudo gpg --dearmour -o /usr/share/keyrings/imported-from-trusted-gpg-$K.gpg; done

Есть еще маленький костыль как избежать предупреждений в консоли

mv /etc/apt/trusted.gpg /etc/apt/trusted.gpg.d/

Если у вас остались вопросы, вы всегда можете их написать в комментариях ниже.


Теги

#apt#gpg

В будущее
Ротация root токена в hashicorp Vault

Категории

Инструкции

Оглавление

1
Новый метод установки ключей
2
Просмотр ключей в новой цепочке
3
Перенос ключей из apt-key в новое расположение
4
Массовый перенос ключей из trusted.gpg

Поддержать автора

На оплату хостинга и развитие

Ю.Money
© 2024, Все права защищены.
Работает на