Если вы используете PPA или добавляете внешний репозиторий в Ubuntu 22.04 и более поздних версиях, скорее всего, вы увидите такое сообщение:

1
W: https://packagecloud.io/slacktechnologies/slack/debian/dists/jessie/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.

ключ ubuntu хранится в устаревшем виде

Первое первым. Это не ошибка, это предупреждающее сообщение. Предупреждение не останавливает процедуру. Вы можете продолжить обновление своей системы, даже если увидите это предупреждающее сообщение во время обновления.

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

Есть два пути; правильный путь и быстрый и грязный путь. Прочтите оба метода и посмотрите, какой из них вам удобен.

Способ 1: Импорт ключа [Правильный, но сложный способ]

Сначала перечислите все ключи GPG, добавленные в вашу систему.

1
sudo apt-key list

Это покажет огромный список ключей, хранящихся в вашей системе. Здесь вам нужно найти ключи, связанные с предупреждающим сообщением.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[email protected]:~$ sudo apt-key list
[sudo] password for user: 
Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
/etc/apt/trusted.gpg
--------------------
pub   rsa4096 2014-01-13 [SCEA] [expired: 2019-01-12]
      418A 7F2F B0E1 E6E7 EABF  6FE8 C2E7 3424 D590 97AB
uid           [ expired] packagecloud ops (production key) <[email protected]>

pub   rsa4096 2016-02-18 [SCEA]
      DB08 5A08 CA13 B8AC B917  E0F6 D938 EC0D 0386 51BD
uid           [ unknown] https://packagecloud.io/slacktechnologies/slack (https://packagecloud.io/docs#gpg_signing) <[email protected]>
sub   rsa4096 2016-02-18 [SEA]

/etc/apt/trusted.gpg.d/audio-recorder-ubuntu-ppa.gpg
----------------------------------------------------
pub   rsa4096 2015-08-30 [SC]
      42EF 41ED 9813 B713 D4F1  F06D 5CF1 2638 ACF9 669F
uid           [ unknown] Launchpad PPA for Team audio-recorder

/etc/apt/trusted.gpg.d/danielrichter2007-ubuntu-grub-customizer.gpg
-------------------------------------------------------------------
pub   rsa1024 2010-10-08 [SC]
      59DA D276 B942 642B 1BBD  0EAC A8AA 1FAA 3F05 5C03

Как ты это делаешь? Внимательно прочитайте сообщение.

1
W: https://packagecloud.io/slacktechnologies/slack/debian/dists/jessie/InRelease: Key is stored in legacy

В моем случае в репозитории есть такие ключевые слова, как packagecloud, slacktechnologies. Он отображается в верхней части вывода списка apt-key. Возможно, вам придется немного прокрутить в вашем случае.

В этом редком случае внешний репозиторий, добавленный Slack, имеет два ключа GPG. Один из них просрочен, и я его проигнорирую. У вас может не быть такой ситуации.

Вы должны последние 8 символов (исключая пробел) под строкой после pub.

1
2
3
4
5
6
7
8
9
/etc/apt/trusted.gpg
--------------------
pub   rsa4096 2014-01-13 [SCEA] [expired: 2019-01-12]
      418A 7F2F B0E1 E6E7 EABF  6FE8 C2E7 3424 D590 97AB
uid           [ expired] packagecloud ops (production key) <[email protected]>

pub   rsa4096 2016-02-18 [SCEA]
      DB08 5A08 CA13 B8AC B917  E0F6 D938 EC0D 0386 51BD
uid           [ unknown] https://packagecloud.io/slacktechnologies/slack (https://packagecloud.io/docs#gpg_signing) <[email protected]>

Итак, из строки «DB08 5A08 CA13 B8AC B917 E0F6 D938 EC0D 0386 51BD» я возьму последние 8 символов «0386 51BD», удалю пробел и затем использую его для импорта ключа GPG в специальный файл в /etc/apt/trusted.gpg.d/

1
sudo apt-key export 038651BD | sudo gpg --dearmour -o /etc/apt/trusted.gpg.d/slack.gpg

Я создал здесь новый файл slack.gpg, если вы его не заметили. Я назвал его slack.gpg, потому что он связан с установленным ранее приложением Slack. Имя файла не имеет значения, но оно полезно для идентификации.

Если команда выполняется успешно, вы не увидите никакого сообщения. Вы можете убедиться в этом, проверив, существует ли вновь созданный файл gpg или нет.

Запустите обновление еще раз, и теперь вы больше не должны видеть предупреждающее сообщение.

Способ 2: Скопируйте в каталог trust.gpd.d [Быстрый и грязный способ]

Если вам неудобно делать все вышеперечисленное вручную, вы можете игнорировать предупреждающее сообщение. Я имею в виду, что игнорировать это всегда можно.

Другой вариант — скопировать файл /etc/apt/trusted.gpg в каталог /etc/apt/trusted.gpg.d. В конце концов, Ubuntu жалуется только на то, что ей нужны ключи GPG в каталоге /etc/apt/trusted.gpg.d.

Вам все равно придется использовать терминал. Откройте его и используйте следующую команду:

1
sudo cp /etc/apt/trusted.gpg /etc/apt/trusted.gpg.d

Теперь, если вы запустите обновление, вы больше не увидите предупреждающее сообщение «Ключ хранится в устаревшей связке ключей trust.gpg».

Выводы

Теперь вы знаете что означает Key is stored in legacy trusted.gpg keyring и как исправить эту ошибку. Разработчики затеяли серьезное и важное преобразование системы безопасности пакетного менеджера, но это всё ещё довольно сложно для простых пользователей. Намного проще добавить ключ с помощью apt-key и добавить репозиторий по его имени с помощью apt-add-repository. Возможно, в будущем эти утилиты будут обновлены и начнут поддерживать новый способ работы с ключами.

Многие репозитории уже предлагают правильные команды для установки их в систему. А для всех остальных вы можете делать всё вручную, продолжить использовать apt-key или же просто игнорировать предупреждение о том, что ключи хранятся в устаревшем месте.