はじめに
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
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をインストールした場合に起きているような気がしますがわかりません。
ただ、この警告が厄介なことに解決策が複数あるので環境に合わせた選択を行って対策を行ってください。