Yandex disk: Key is stored in legacy trusted.gpg / Ubuntu

Yandex disk: Key is stored in legacy trusted.gpg / Ubuntu
Photo by Rasheeque Ahnaf (Piash) / Unsplash

Предупреждения о устаревании инструмента apt-key может быть раздражающим. Оно как бы призывает, надо что-то делать. Хотя все работает без проблем и так.

TODO: https://losst.pro/en/how-to-fix-key-is-stored-in-legacy-trusted-gpg-keyring-in-ubuntu

Ubuntu 22 LTS, gpg, apt, apt-key
W: http://repo.yandex.ru/yandex-disk/deb/dists/stable/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.

Нам сообщают, что ключ стороннего поставщика находится в устаревшем хранилище /etc/apt/trusted.gpg. В современные дни сторонние поставщики сохранены в /etc/sources.list.d/.

Каждый сторонний пакет добавляемый в систему, должен быть подписан GPG-ключем. И ключ должен быть доверенным в системе. Манипуляция и замена ключей может привести к ситуации, когда системные пакеты будут перезаписаны вредоносными. Следует внимательно относится к источникам ПО. И использовать только доверенные.

В идеальной ситуации не надо ничего делать с ключами. Разработчики пакетов сами решат этот вопрос при обновлении или предоставят инструкции.

В реальном мире все по-другому.

Чтобы убрать уведомление необходимо переместить ключ в "правильное" хранилище. Для этого ключ экспортируется и преобразуется, перемещается.

# Посмотреть доступные ключи
$ 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   rsa2048 2013-08-12 [SC]
      EE2C 95AB 58DC 2B01 38D1  6B4F EFC4 571D 7C90 E5AF
uid         [ неизвестно ] Yandex Disk Repository Key <disk-desk-dev-store@yandex-team.ru>
sub   rsa2048 2013-08-12 [E]

...

Находим интересующий ключ. Строка pub, которая хранит отпечаток ключа. Копируем, используем завершающие 8 символов (пробелы не используем).

Экспортируем ключ

$ sudo apt-key export 7C90E5AF | sudo gpg --dearmour -o /etc/apt/keyrings/yandex-disk.gpg