Linux

Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details. が発生した場合の対策

はじめに

Ubuntu 22.04で下記のようなエラーが発生する場合があります。特に packages.microsoft.com で起きているように思います。警告は再現する方法は分かりませんが、これを解決する対策を紹介します。

W: https://packages.microsoft.com/ubuntu/22.04/prod/dists/jammy/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.

現象

警告を再現する方法は分かりませんでした。

# apt update
Hit:1 http://azure.archive.ubuntu.com/ubuntu jammy InRelease
Get:2 http://azure.archive.ubuntu.com/ubuntu jammy-updates InRelease [114 kB]
Get:3 http://azure.archive.ubuntu.com/ubuntu jammy-backports InRelease [99.8 kB]
Get:4 http://azure.archive.ubuntu.com/ubuntu jammy-security InRelease [110 kB]
Hit:5 https://packages.microsoft.com/ubuntu/22.04/prod jammy InRelease
Hit:6 https://deb.nodesource.com/node_18.x jammy InRelease
Fetched 324 kB in 1s (352 kB/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
All packages are up to date.
W: https://packages.microsoft.com/ubuntu/22.04/prod/dists/jammy/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.

対策

対策方法については下記で紹介されています。

21.10 - apt-key deprecation warning when updating system: "Key is stored in legacy trusted.gpg keyring" - Ask Ubuntu
21.10 - apt-key deprecation warning when updating system: "Key is stored in legacy trusted.gpg keyring" - Ask Ubuntu

Recently I've noticed some issues when running apt where the system will warn me of a keyring deprec ...

askubuntu.com

この警告によって更新など妨げるものではありませんが表示されることが煩わしいですし気持ち悪いです。

そこで、この警告を表示させない対策を紹介します。

最初にkeyを確認します。

# 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 2015-10-28 [SC]
      BC52 8686 B50D 79E3 39D3  721C EB3E 94AD BE12 29CF
uid           [ unknown] Microsoft (Release signing) <gpgsecurity@microsoft.com>

/etc/apt/trusted.gpg.d/ubuntu-keyring-2012-cdimage.gpg
------------------------------------------------------
pub   rsa4096 2012-05-11 [SC]
      8439 38DF 228D 22F7 B374  2BC0 D94A A3F0 EFE2 1092
uid           [ unknown] Ubuntu CD Image Automatic Signing Key (2012) <cdimage@ubuntu.com>

/etc/apt/trusted.gpg.d/ubuntu-keyring-2018-archive.gpg
------------------------------------------------------
pub   rsa4096 2018-09-17 [SC]
      F6EC B376 2474 EDA9 D21B  7022 8719 20D1 991B C93C
uid           [ unknown] Ubuntu Archive Automatic Signing Key (2018) <ftpmaster@ubuntu.com>

キーをエクスポートします。末尾の8ビットを指定します。

apt-key export BE1229CF | sudo gpg --dearmour -o /usr/share/keyrings/microsoft.gpg

警告がでますが気にしません。

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

下記を編集します。

/etc/apt/sources.list.d/microsoft-prod.list

signed-by /usr/share/keyrings/microsoft.gpg で指定します。

deb [arch=amd64,armhf,arm64 signed-by=/usr/share/keyrings/microsoft.gpg] https://packages.microsoft.com/ubuntu/22.04/prod jammy main

apt のメッセージが消えたことを確認します。

確認後に署名を削除します。

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

以上で作業は完了です。

/etc/apt/sources.list.d/microsoft-prod.list はそのままです。

 まとめ

この警告は再現性は低いと思います。 VS Code Serverをインストールした場合に起きているような気がしますがわかりません。

ただ、この警告が厄介なことに解決策が複数あるので環境に合わせた選択を行って対策を行ってください。

-Linux
-