【Ubuntu】apt updateで404エラーがでたので解消する

Linux,Windows

こんにちは、しきゆらです。
今回は、Ubuntuでapt updateを実行したときに404エラーが発生していたので
解消するために色々調べつつ対応したのでメモしておきます。

今回利用していたUbuntuのバージョンは以下の通り。

$ cat /etc/os-release
PRETTY_NAME="Ubuntu 22.10"
NAME="Ubuntu"
VERSION_ID="22.10"
VERSION="22.10 (Kinetic Kudu)"
...

はじめに

前回のPostgreSQLのインストールのように、あれこれリポジトリを追加したりOSを更新しているとapt updateを実行するとリポジトリの一部で404エラーが出るようになっていました。
出ていたエラーは以下の通り。

$ sudo apt update
...
Err:10 <https://ppa.launchpadcontent.net/deadsnakes/ppa/ubuntu> kinetic Release
  404  Not Found [IP: 185.125.190.52 443]

エラーが出ていたのは「ppa.launchpadcontent.net/deadsnakes/ppa/ubuntu 」でした。
何を入れたときのものかすでに覚えていないですが、404であれば不要だろう、ということで解消していきます。


解消方法

ざっくりと手順を記載すると以下の通りです。

  1. 対象リポジトリを管理しているファイルを探す
  2. リポジトリを無効化する
  3. 解消されたかを確認する

それぞれに分けてみていきます。

対象リポジトリを管理しているファイルを探す

調べてみると、apt updateで参照するリポジトリは/etc/apt配下にあるxxx.listというファイルで管理されているようです。

ということで、この中にあるファイルの中に該当するURLが書かれているファイルを探しましょう。 まずは、該当するリポジトリが書かれたファイルの一覧を取得してみます。
なお、出力結果は環境によって異なるので適宜ご自身の環境に合わせて読み替えてください。

$ find /etc/apt -name "*.list"
/etc/apt/sources.list
/etc/apt/sources.list.d/amdgpu.list
/etc/apt/sources.list.d/rocm.list
/etc/apt/sources.list.d/deadsnakes-ubuntu-ppa-kinetic.list
/etc/apt/sources.list.d/amdgpu-proprietary.list
/etc/apt/sources.list.d/docker.list
/etc/apt/sources.list.d/pgdg.list

取得できたそれぞれのファイルの中を確認していきます。
とはいえ、catとかエディタとかでひとつづつ見ていくのは手間。
この辺もコマンドでやってしまいましょう。

$ find /etc/apt -name "*.list" | xargs grep ppa
/etc/apt/sources.list.d/deadsnakes-ubuntu-ppa-kinetic.list:deb <https://ppa.launchpadcontent.net/deadsnakes/ppa/ubuntu/> kinetic main
/etc/apt/sources.list.d/deadsnakes-ubuntu-ppa-kinetic.list:# deb-src <https://ppa.launchpadcontent.net/deadsnakes/ppa/ubuntu/> kinetic main

なお、xargsは標準入力やファイルなどからリストを受け取って、それを別コマンドの引数とするコマンドのようです。

これで、該当するファイルのパスと内容を確認できました。

リポジトリを無効化する

無効化するには、単純にコメントアウトすればよいだけなので以下のように先頭に#を追加。

cat /etc/apt/sources.list.d/deadsnakes-ubuntu-ppa-kinetic.list
# deb <https://ppa.launchpadcontent.net/deadsnakes/ppa/ubuntu/> kinetic main
# deb-src <https://ppa.launchpadcontent.net/deadsnakes/ppa/ubuntu/> kinetic main

これにて対応は完了。

解消されたかを確認する

apt updateを実行して404エラーが出ないことを確認できれば完了です。

私の環境では特に不要としてコメントアウトしてしまっていますが、リポジトリを追加したということは何らかのアプリ等をインストールするために追加しているはずなので
利用しているパッケージが度のリポジトリで管理されているかを確認してあげる必要があるかと思います。
未確認ですが、この辺で確認できそうです。

まとめ

今回はUbuntuでapt update時に404エラーが発生していたので、解消するために原因や解消方法を調べました。

何気なく使っているパッケージマネージャの裏側をなんとなくチラ見できた気がします。
調べてみると、よく使うものでもよくわからずに使っているんだなぁというのと、もう少し深く知りたくなります。

今回はここまで。
おわり

Posted by しきゆら