Raspberry pi OS で Warning from apt-key 備忘録です.
Bitly
apt update の WARNING
温度管理に使っている Raspberry Pi の SD カードが壊れてしまったようなので,新たに購入した SD カードに最新版の Raspberry pi OS を入れてみたのですが,導入後直後のアップデートで,
$ sudo apt update .... W: http://raspbian.raspberrypi.com/raspbian/dists/bookworm/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
のような WARING が出ていることに気がつきました.
調べてみると apt-key が廃止予定なので,これを利用しないように警告が出るようになっているみたい.詳しくは,
第675回 apt-keyはなぜ廃止予定となったのか | gihyo.jp
サードパーティのAPTパッケージリポジトリを追加する際に使用する「apt-key」コマンドは、2020年8月の2.1.8から「廃止予定」となり、2022年の半ばには削除される予定になりました。今回はその理由と、代替手段について解説しましょう...
辺りに解説がありますし,読めばナルホドとは思うんですが,今回の警告は公式の配布元のキーに対するもので,これを読んだだけではどうすればよいのかよく分かりませんでした.配布元のキーを wget 等でとって来て……って言われても,そもそも公式キーがどこで配布されているのか(少なくとも私には)分からなかったからです.
WARNING の解消方法
ということでいろいろググってみたところ,以下のページに手順が紹介されていることに気がつきました.
Just a moment...
この記事に紹介されている手順の概要は以下の通りです.
- apt-key で管理されている公式リポジトリのキーを取り出し,gpg 形式で保存する.
- apt-key で管理されている公式リポジトリのキーを削除する.
- 上の1で作成した gpg 形式のキーを /etc/apt/trusted.gpg.d 以下に配置する.
実際にやってみた様子は(上の英語の記事と全く同じですが)以下の通りです.
$ apt-key list | grep -A4 "trusted.gpg$" Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)). /etc/apt/trusted.gpg -------------------- pub rsa2048 2012-04-01 [SC] A0DA 38D0 D76E 8B5D 6388 7281 9165 938D 90FD DD2E uid [ unknown] Mike Thompson (Raspberry Pi Debian armhf ARMv6+VFP) <[email protected]> $ sudo apt-key export 90FDDD2E | sudo gpg --dearmor -o /tmp/raspi.gpg Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)). $ file /tmp/raspi.gpg /tmp/raspi.gpg: OpenPGP Public Key Version 4, Created Sun Apr 1 21:02:33 2012, RSA (Encrypt or Sign, 2048 bits); User ID; Signature; OpenPGP Certificate $ sudo apt-key del 90FDDD2E Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)). OK $ sudo mv /tmp/raspi.gpg /etc/apt/trusted.gpg.d/
これで WARNGING は出なくなります.
まぁ言われてみれば,システムにはじめから入っているキーを取り出して保存しなおせばそれで良い訳ですが,apt-key コマンドとか滅多に使わないので全く思いつきませんでした.
以上!