Введение
Недавно я создал новую виртуальную машину Ubuntu 22.04 LTS Linux. Когда я попытался настроить сервер PostgreSQL на нем, я увидел предупреждающее сообщение, подобное показанному ниже на экране:
Предупреждение: apt-key устарел. Вместо этого управляйте файлами набора ключей в trust.gpg.d (см. apt-key (8)).
Даже после появления предупреждающего сообщения я смог продолжить работу. Способ хранения ключей GPG был обновлен разработчиками Debian, что повысило безопасность системы. Вы заметите эту проблему в системах Ubuntu 22.04 и Debian 11.
Следующие шаги помогут вам переместить ключ в новое место:
Первый шаг — узнать идентификатор ключа. Вы можете перечислить все существующие ключи в trust.gpg с помощью следующей команды:
sudo apt-key list
Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
/etc/apt/trusted.gpg
--------------------
pub rsa4096 2011-10-13 [SC]
B97B 0AFC AA1A 47F0 44F2 44A0 7FCC 7D46 ACCC 4CF8
uid [ unknown] PostgreSQL Debian Repository
Мне нужно исправить проблему с репозиторием PostgreSQL. Затем скопируйте последние 8 символов идентификатора ключа и экспортируйте его с помощью следующей команды:
sudo apt-key export ACCC4CF8 | sudo gpg --dearmour -o /usr/share/keyrings/pgdg.gpg
Теперь отредактируйте файл конфигурации репозитория Apt следующим образом:
deb [arch=amd64 signed-by=/usr/share/keyrings/pgdg.gpg] http://apt.postgresql.org/pub/repos/apt/jammy-pgdg main
Теперь вы можете удалить ключ из trust.gpg:
sudo apt-key del ACCC4CF8
Вывод
Надеюсь, это краткое руководство поможет вам решить ваши проблемы. Вы также можете следовать тем же инструкциям, чтобы исправить аналогичные проблемы в других репозиториях.