Решение предупреждения: Key is stored in legacy trusted.gpg

Ubuntu 22.04 и многие другие дистрибутивы уходят от хранения gpg ключей репозиториев в /etc/apt/trusted.gpg. От чего возникают предупреждения при обновлении списка пакетов из репозитория.

Текст предупреждения.

W: https://apt.postgresql.org/pub/repos/apt/dists/jammy-pgdg/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.

В моем случае - это репозиторий PostreSQL. Дальше буду разбирать на примере этого репозитория.

Стоит отметить, что все продолжит корректную работу, но неприятный глазу warning будет вываливаться, по этому будем исправлять.

Экспорт ключа

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

sudo apt-key list

Ключ PostreSQL выглядит так

/etc/apt/trusted.gpg
--------------------
...
pub   rsa4096 2011-10-13 [SC]
      B97B 0AFC AA1A 47F0 44F2  44A0 7FCC 7D46 ACCC 4CF8
uid         [ неизвестно ] PostgreSQL Debian Repository
...

Далее надо скопировать себе последние 8 символов (пробелы убрать.) из строки, которая находится под "pub", у меня этот кусочек такой: ACCC4CF8

После надо будет экспортировать ключ, указав полученные 8 символов, указав имя ключа, я его обзову pgdg.gpg

sudo apt-key export ACCC4CF8 | sudo gpg --dearmour -o /etc/apt/trusted.gpg.d/pgdg.gpg

Собственно после ввода последней команды, можно запускать обновление и наслаждаться результатом без W: в выводе.

Источник: https://itsfoss.com/key-is-stored-in-legacy-trusted-gpg/

P.S. В источнике есть еще грязный способ решения данной задачи, но его использовать не советую.

Last updated