2024年4月24日 (水曜日)

15:55:20 # Life apt-keyがdeprecatedと言われたがどうしたらよいのか。 apt updateしてたら警告がしばらく前から出ていた。Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.。 よくわからなかったので調べてみた。 Man pageを見ると書いてあるといえば書いてある。 今までは鍵を一個のファイルにマージしていたのだが、それをディレクトリにおいたら見てくれるようになったらしい。/etc/apt/trusted.gpg.d/myrepo.ascにおけばよい。 ただこれは欠点もあるような、どれの鍵がどれかが指定できないので。 多分もっとおすすめなのは/etc/apt/sources.listの行に[signed-by]を追加するのじゃないかな。Debianパッケージ内で鍵ファイルがすでに提供されているならその場所をさせばよい。 /usr/share/keyrings/においておくか。しかしこの設計は微妙な気がする。/usr/share/keyrings/はたいていパッケージ管理システムの制御下にあるのでそこにファイルをおくのはそこまでよくない。 どちらかというと/usr/local/share/keyrings/かな。 手元ですでに使っている鍵情報をエキスポートするという手法をとってみた。そうするとtrusted.gpgに入っていた鍵全部にマッチするんじゃなくて必要なリポジトリを必要な鍵で確認。

nodejs

	  apt-key export 68576280 | \
	  sudo gpg --dearmor -o /usr/share/keyrings/nodesource.gpg
	

raspberrypi

	  apt-key export 7FA3303E | sudo gpg --dearmor -o /usr/share/keyrings/raspberrypi.gpg
	

raspbian (armhf port)

	  apt-key export 90FDDD2E | sudo gpg --dearmor -o /usr/share/keyrings/raspbian.gpg
	

apt設定参照側はこんな感じにした。

deb [signed-by="/usr/share/keyrings/nodesource.gpg"] https://deb.nodesource.com/node_20.x bookworm main
deb [signed-by="/usr/share/keyrings/raspbian.gpg"] http://mirrordirector.raspbian.org/raspbian/ bookworm main contrib non-free rpi
deb [signed-by="/usr/share/keyrings/raspberrypi.gpg"] http://archive.raspberrypi.org/debian/ bookworm main

	
Junichi Uekawa