Ubuntu 26.04 講座 / Ubuntu リポジトリと署名キーの管理

Ubuntu 26.04のリポジトリ管理は、実際の.sourcesファイルと署名キーの適用範囲を確認することから始まります。サードパーティのリポジトリを追加する場合は、提供者の26.04サポートと完全なキーのフィンガープリントを検証し、該当リポジトリのみにキーを関連付けます。

現在のリポジトリと候補バージョンを確認する

cat /etc/os-release
find /etc/apt/sources.list.d -maxdepth 1 -type f -print
cat /etc/apt/sources.list.d/ubuntu.sources
apt-cache policy

基本的なUbuntuリポジトリは通常/etc/apt/sources.list.d/ubuntu.sourcesにありますが、インストール・クラウド・アップグレードの履歴により異なる場合があります。古い一行形式の.listとdeb822 .sourcesが共に存在することがあるため、同じリポジトリが重複して定義されていないか確認します。

deb822フィールドとコンポーネントを理解する

フィールド 判断する内容
URIs どの提供元から取得するか
Suites resolute・更新・セキュリティリポジトリなどのリリース範囲
Components main·restricted·universe·multiverse などのパッケージ領域
Architectures 対象 CPU アーキテクチャを制限するか
Signed-By このリポジトリを検証する鍵ファイル
Enabled no の場合、該当項目を無効化

コンポーネントを有効にすることと、すべてのパッケージに同じセキュリティサポートが付くことは異なります。Ubuntu Pro とパッケージ別サポート条件も別途確認する必要があります。提供者が他のディストリビューション用に案内した suite 名を resolute に変えるだけで互換性が生じるわけではありません。

Ubuntu のサードパーティリポジトリの説明は、信頼範囲とディストリビューションのアップデートへの影響を扱います。

鍵ファイルと信頼根拠の確認

gpg --show-keys --with-fingerprint /usr/share/keyrings/ubuntu-archive-keyring.gpg

上記のコマンドは既存の Ubuntu アーカイブ鍵ファイルを参照する例です。サードパーティの鍵は、提供者の HTTPS ドキュメントなどで独立して確認した根拠と完全なフィンガープリントを照合します。ファイル名や短い鍵 ID が同じという理由だけで信頼しません。

直接管理するキーは、プロバイダーの指示に従って /etc/apt/keyrings などのパスに置き、Signed-By で範囲を制限します。APT が読み取れる権限も必要です。署名エラーをなくそうとして trusted=yes や認証無視オプションを入れたり、システム全体で信頼する鍵として無条件に追加したりしません。

バックアップ後に一つのリポジトリのみ変更する

backup=$(sudo mktemp -d /root/apt-sources.XXXXXX)
sudo cp -a /etc/apt/sources.list.d "$backup/"
printf 'Backup: %s\n' "$backup"

出力されたバックアップパスを安全な作業記録に残します。変更するサードパーティファイルを特定し、sudoedit で編集します。deb822 の該当項目に Enabled: no を入れると無効化でき、ファイル全体を別の拡張子に移動するときも該当ファイルのみ扱います。

リポジトリを無効化しても、そこでインストールしたプログラムやデータは自動的に削除されません。削除・ダウングレードは別途依存関係の確認が必要です。署名キーのファイルも他のリポジトリが参照しているか確認するまで削除しません。

検証と復元

sudo apt update
apt-cache policy

エラーなくリストが更新されるかと、意図したソース・候補バージョンを確認します。失敗した場合は変更した項目だけバックアップと比較して復元し、再度更新します。複数のリポジトリファイルを同時に上書きしたり、現在のディストリビューションコードを別のバージョンに置き換えたりして問題を回避しません。