😊
`apt-key` が deprecated になってたので `gpg` に置き換える
apt-key
が deprecated になってたので gpg
に置き換える
NVA として FRRouting をよく使っているのですが、その中で apt-key
を使う手順があります。
具体的には以下の記事に書かれているような手順により FRRouting を install します。
# add GPG key
curl -s https://deb.frrouting.org/frr/keys.asc | sudo apt-key add -
# possible values for FRRVER: frr-6 frr-7 frr-8 frr-stable
# frr-stable will be the latest official stable release
FRRVER="frr-stable"
echo deb https://deb.frrouting.org/frr $(lsb_release -s -c) $FRRVER | sudo tee -a /etc/apt/sources.list.d/frr.list
# update and install FRR
sudo apt update && sudo apt install frr frr-pythontools
cloud-init
を使っていると気づかなかったのですが、改めて手作業で install するときに apt-key
が deprecated だと警告を出していました。
で、まぁ無視してもいいのですが、せっかくなのでちゃんとした解消方法を考えてみました。
結果としてはこんな感じになりました。
FRRouting の提供する鍵を新しく作成した gpg keyring に登録して、それを一般的な keyring 置き場である /usr/share/keyrings
に置いています。
その後、frr.list
を追加する場合にも [signed-by=/usr/share/keyrings/frrouting-keyring.gpg]
というオプションを追加することで、FRRouting に関するソフトウェアのダウンロードの際にこの keyring を使うようにしています。
curl -s https://deb.frrouting.org/frr/keys.asc | gpg --no-default-keyring --keyring /tmp/frrouting-keyring.gpg --import
gpg --no-default-keyring --keyring /tmp/frrouting-keyring.gpg --export --output /usr/share/keyrings/frrouting-keyring.gpg
FRRVER="frr-stable"
echo deb [signed-by=/usr/share/keyrings/frrouting-keyring.gpg] https://deb.frrouting.org/frr $(lsb_release -s -c) $FRRVER | tee -a /etc/apt/sources.list.d/frr.list
この手順によって警告が出なくなったので良しとします。
参考
- 非推奨となったapt-keyの代わりにsigned-byとgnupgを使う方法
- Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead
- apt-keyはなぜ廃止予定となったのか
Discussion