サードパーティのaptレポジトリを追加しようと、
sudo wget -qO - https://dokoka-repo/gpg-key | sudo apt-key add -
を実行したら怒られてしまいました:
Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8))
apt-keyは廃止になるようなので、その代替方法についてのメモです。
参考にしたのは第675回 apt-keyはなぜ廃止予定となったのかです。
肝心の対応方法は2ページ目にあります。
要点は
- レポジトリ鍵は特定のサードパーティ用の鍵フォルダに保管する
- apt lineではレポジトリと鍵を紐付ける
目次
レポジトリ鍵を特定のサードパーティ用の鍵フォルダに保管する
鍵のダウンロードとバイナリ形式への変換
どこか適当な場所に鍵をダウンロードします。上記のページだと/tmpを使ってます。
cd /tmp wget https://dokoka.key.location/gpg-key
これでhoge.keyがダウンロードされたとしてバイナリに変換しておきます。 (aptでサポートしていない形式で配布されている場合もあるようなので、バイナリに変換しておくのが安心なようですね。)
一旦とりこみます。
gpg --no-default-keyring --keyring temp-keyring.gpg --import hoge.key
これを打つと下のような結果が帰ってきます:
gpg: keybox '/home/XXXX/.gnupg/temp-keyring.gpg' created gpg: key XXXXXXXXXXXXXXXXX: public key "XXXXXXXXXXXXXXXX" imported gpg: Total number processed: 1 gpg: imported: 1
最後に
gpg --no-default-keyring --keyring temp-keyring.gpg --export --output hoge.gpg
サードパーティレポジトリの鍵保管場所へコピー
サードパーティレポジトリの鍵保管場所を作成してコピーしておきます。
sudo mkdir -p /usr/local/share/keyrings sudo cp hoge.gpg /usr/local/share/keyrings
apt lineでレポジトリと鍵を紐付け
sudo touch /etc/apt/sources.list.d/dokoka-repo.list sudo editor /etc/apt/sources.list.d/dokoka-repo.list
apt lineは次のようにしています(下は二行に見えていますが、実際は一行です):
deb [arch=amd64 signed-by=/usr/local/share/keyrings/hoge.gpg] https://dokoka-repo/dir/subdir stable main