😊

`apt-key` が deprecated になってたので `gpg` に置き換える

2023/05/18に公開

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

https://zenn.dev/skmkzyk/articles/azure-route-server-frrouting

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を使う方法

https://www.clear-code.com/blog/2021/5/5.html

  • Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead

https://stackoverflow.com/questions/68992799/warning-apt-key-is-deprecated-manage-keyring-files-in-trusted-gpg-d-instead

  • apt-keyはなぜ廃止予定となったのか

https://gihyo.jp/admin/serial/01/ubuntu-recipe/0675

Microsoft (有志)

Discussion