0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Ubuntu 22.04 で apt-key (trusted.gpg) を keyrings 方式へ移行する手順

0
Posted at

毎度、ググっても出てこない小ネタを取り扱っております。
本記事は個人的な見解であり、筆者の所属するいかなる団体にも関係ございません。

ググってもあまり出てきませんが、Claude Opus 4.6で一発解決でした。
こんなカスみたいなトラブルシューティングにOpusを使うのはナニかもしれませんが、
GPT-5.2-chatは嘘こいてくるので、こっちで成敗してもらいます。

0. はじめに

Ubuntu 22.04 で sudo apt update を実行すると、以下の警告が表示されることがあります。

Key is stored in legacy trusted.gpg keyring

これは古い鍵管理方式(apt-key / /etc/apt/trusted.gpg)が非推奨となり、将来的に廃止予定であることを示しています。

本記事では、PPA の鍵を新方式(/etc/apt/keyrings/ + signed-by=)へ移行する手順を紹介します。

1. 環境

項目 内容
OS Ubuntu 22.04.5 LTS
対象PPA ondrej/php, redislabs/redis

2. 旧方式と新方式の違い

旧方式 新方式
鍵の保存先 /etc/apt/trusted.gpg /etc/apt/keyrings/*.gpg
sources.list deb https://... deb [signed-by=/etc/apt/keyrings/xxx.gpg] https://...
管理コマンド apt-key add / apt-key del gpg --dearmor で直接管理

3. 手順

3-1. keyrings ディレクトリの確認・作成

sudo mkdir -p /etc/apt/keyrings

Ubuntu 22.04 ではデフォルトで存在している場合もあります。

3-2. 対象PPAの鍵IDを確認

sudo apt-key list 2>/dev/null | grep -B 5 -i redis
sudo apt-key list 2>/dev/null | grep -B 5 -i ondrej

今回確認できたフィンガープリント:

PPA フィンガープリント
ondrej/php 14AA40EC0831756756D7F66C4F4EA0AAE5267A6C
redislabs/redis 60A0586666DE0BA4B481628ACC59E6B43FA6E3CA

3-3. 各PPAの鍵を取得して保存

ondrej/php:

curl -fsSL "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x14AA40EC0831756756D7F66C4F4EA0AAE5267A6C" | sudo gpg --dearmor -o /etc/apt/keyrings/ondrej-php.gpg

redislabs/redis:

curl -fsSL "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x60A0586666DE0BA4B481628ACC59E6B43FA6E3CA" | sudo gpg --dearmor -o /etc/apt/keyrings/redislabs-redis.gpg

3-4. 鍵の内容を検証

取得した鍵が正しいか確認します。

gpg --no-default-keyring --keyring /etc/apt/keyrings/ondrej-php.gpg --list-keys
gpg --no-default-keyring --keyring /etc/apt/keyrings/redislabs-redis.gpg --list-keys

出力例(ondrej/php):

pub   rsa1024 2009-01-26 [SC]
      14AA40EC0831756756D7F66C4F4EA0AAE5267A6C
uid           [ unknown] Launchpad PPA for Ondřej Surý

出力例(redislabs/redis):

pub   rsa4096 2020-08-25 [SC]
      60A0586666DE0BA4B481628ACC59E6B43FA6E3CA
uid           [ unknown] Launchpad PPA for Redis Labs

3-5. sources.list を修正

ondrej/php:

sudo tee /etc/apt/sources.list.d/ppa_ondrej_php_jammy.list <<'EOF'
deb [signed-by=/etc/apt/keyrings/ondrej-php.gpg] https://ppa.launchpadcontent.net/ondrej/php/ubuntu jammy main
EOF

redislabs/redis:

sudo tee /etc/apt/sources.list.d/ppa_redislabs_redis_jammy.list <<'EOF'
deb [signed-by=/etc/apt/keyrings/redislabs-redis.gpg] https://ppa.launchpadcontent.net/redislabs/redis/ubuntu jammy main
EOF

3-6. 旧 trusted.gpg から鍵を削除

sudo apt-key del E5267A6C
sudo apt-key del 3FA6E3CA

3-7. 動作確認

sudo apt update

4. 結果

項目 状態
legacy trusted.gpg keyring 警告 ✅ 解消
404 Not Found エラー ✅ 発生なし
ondrej/php の keyrings 移行 ✅ 完了
redislabs/redis の keyrings 移行 ✅ 完了

5. まとめ

  • apt-key は非推奨であり、/etc/apt/keyrings/ + signed-by= 方式への移行が推奨されています
  • 移行手順は「鍵取得 → sources.list 修正 → 旧鍵削除」の流れで行います
  • 鍵取得後は gpg --list-keys でフィンガープリントを必ず検証しましょう

ファイル名のパターンやフィンガープリントはPPAごとに異なるため、ご自身の環境に合わせて適宜読み替えてください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?