Ubuntuでapt周りの設定をいじっていて、うっかり大事なファイルを消してしまい、
$ sudo apt update
ができなくなってしまった。
今回は解決した手順をメモとして残しておく。
環境
OS : Ubuntu 23.04
CPU : 12th Gen Intel(R) Core(TM) i5-1240P
はじめにsources.listのバックアップをとっておく
$ sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
次にソフトウェアとアップデートで復元する。
$ sudo software-properties-gtk
Ubuntuのソフトウェアのインターネットからダウンロードで適宜チェックを入れて、ウィンドウの右下にある元に戻すボタンを押す。
アップデートのタブを開き、確認対象をすべてのアップデートにして、再度元に戻すボタンを押す。
ウィンドウを閉じて、端末で
$ sudo apt update
をしてみると、
ヒット:1 http://archive.ubuntu.com/ubuntu lunar InRelease 取得:2 http://archive.ubuntu.com/ubuntu lunar-updates InRelease [109 kB] 取得:3 http://security.ubuntu.com/ubuntu lunar-security InRelease [109 kB] 取得:4 http://archive.ubuntu.com/ubuntu lunar-backports InRelease [99.8 kB] 取得:5 http://security.ubuntu.com/ubuntu lunar-security/main amd64 DEP-11 Metadata [7,412 B] 324 kB を 2秒 で取得しました (159 kB/s) パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています... 完了 状態情報を読み取っています... 完了 パッケージはすべて最新です。 W: http://archive.ubuntu.com/ubuntu/dists/lunar/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details. -- 以後の出力は省略 --
最後の行にtrusted.gpg関連のエラーが出力される。
これはUbuntuでapt-key形式が廃止されたにも関わらず、ソフトウェアとアップデート経由ではapt-key形式が採用されている事に因るらしい。
この問題を解決する為に下記のコマンドを実行した。
$ sudo cp /etc/apt/trusted.gpg /etc/apt/trusted.gpg.d/ubuntu.gpg $ sudo rm /etc/apt/trusted.gpg
/etc/apt/trusted.gpg.d/以下に格納するgpgファイルのファイル名は何でも良いらしい。