2023-05-11に投稿

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

こんにちは、しきゆらです。
今回は、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というファイルで管理されているようです。
Repositories/CommandLine - Community Help Wiki

ということで、この中にあるファイルの中に該当する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は標準入力やファイルなどからリストを受け取って、それを別コマンドの引数とするコマンドのようです。
【 xargs 】コマンド――コマンドラインを作成して実行する:Linux基本コマンドTips(176) - @IT

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

リポジトリを無効化する

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

cat /etc/apt/sources.list.d/deadsnakes-ubuntu-ppa-kinetic.list
# deb &lt;https://ppa.launchpadcontent.net/deadsnakes/ppa/ubuntu/&gt; kinetic main
# deb-src &lt;https://ppa.launchpadcontent.net/deadsnakes/ppa/ubuntu/&gt; kinetic main

これにて対応は完了。

解消されたかを確認する

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

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

まとめ

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

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

今回はここまで。
おわり

Originally published at shikiyura.com
ツイッターでシェア
みんなに共有、忘れないようにメモ

しきゆら

勉強したり手を動かした記録を「しきゆらの備忘録」(http://shikiyura.com)へ投稿している人。 Ruby/JavaScriptをよく書いている。いろんな言語に触れてみたい。新しい物・辛いもの好き。バグは愛すべきもの。一応社会人。

Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。

また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!

有料記事を販売できるようになりました!

こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?

コメント