Ubuntu 20.10でapt-get updateしたらエラーが出た

2022年2月8日

概要

こんにちは。

Ubuntu 20.10apt-get update したら ports.ubuntu.com/ubuntu-ports のレポジトリで roovy Release には Release ファイルがなくなっています。 という内容でpackageリストの更新ができなくなっていましたので更新できるようにしたいと思います。

発生原因

Ubuntu 20.10は2021年7月まで9ヶ月間サポートされるものになっており現在(2022/02/07)時点でEOLを迎えてしまいUbuntu 20.10向けの情報や更新パッケージが含まれなくなったことによるものです。

対処

Ubuntu 21.10 (Impish Indri) または Ubuntu 22.04 LTS (Jammy Jellyfish) にアップグレードするもしくは、サポートされない古いバージョンのリリースは、 old-releases.ubuntu.com へ移動されるのでリポジトリを書き換えるなどの対応となります。

通常9ヶ月間サポートされますが、LTS版であれば、5年間サポートされるので、アップグレードが可能であればLTS版をできない場合、リポジトリ書き換えとなります。

今回はリポジトリを書き換える対応をします。

参考文献 Ubuntu release cycle | Ubuntu

手順

エラーがでることを確認

パッケージリスト更新で以下のようなエラーがでることを確認します。

apt-get update

取得:1 https://download.docker.com/linux/ubuntu groovy InRelease [43.3 kB]
無視:3 http://ports.ubuntu.com/ubuntu-ports groovy InRelease
無視:4 http://ports.ubuntu.com/ubuntu-ports groovy-updates InRelease
無視:5 http://ports.ubuntu.com/ubuntu-ports groovy-backports InRelease
ヒット:2 https://packages.cloud.google.com/apt kubernetes-xenial InRelease
無視:6 http://ports.ubuntu.com/ubuntu-ports groovy-security InRelease
エラー:7 http://ports.ubuntu.com/ubuntu-ports groovy Release
  404  Not Found [IP: 91.189.88.152 80]
エラー:8 http://ports.ubuntu.com/ubuntu-ports groovy-updates Release
  404  Not Found [IP: 91.189.88.152 80]
エラー:9 http://ports.ubuntu.com/ubuntu-ports groovy-backports Release
  404  Not Found [IP: 91.189.88.152 80]
エラー:10 http://ports.ubuntu.com/ubuntu-ports groovy-security Release
  404  Not Found [IP: 91.189.88.152 80]
パッケージリストを読み込んでいます... 完了
E: リポジトリ http://ports.ubuntu.com/ubuntu-ports groovy Release には Release ファイルがなくなっています。
N: このようなリポジトリから更新を安全に行うことができないので、デフォルトでは更新が無効になっています。
N: リポジトリの作成とユーザ設定の詳細は、apt-secure(8) man ページを参照してください。
E: リポジトリ http://ports.ubuntu.com/ubuntu-ports groovy-updates Release には Release ファイルがなくなっています。
N: このようなリポジトリから更新を安全に行うことができないので、デフォルトでは更新が無効になっています。
N: リポジトリの作成とユーザ設定の詳細は、apt-secure(8) man ページを参照してください。
E: リポジトリ http://ports.ubuntu.com/ubuntu-ports groovy-backports Release には Release ファイルがなくなっています。
N: このようなリポジトリから更新を安全に行うことができないので、デフォルトでは更新が無効になっています。
N: リポジトリの作成とユーザ設定の詳細は、apt-secure(8) man ページを参照してください。
E: リポジトリ http://ports.ubuntu.com/ubuntu-ports groovy-security Release には Release ファイルがなくなっています。
N: このようなリポジトリから更新を安全に行うことができないので、デフォルトでは更新が無効になっています。
N: リポジトリの作成とユーザ設定の詳細は、apt-secure(8) man ページを参照してください。

現在使用しているレポジトリを確認

筆者の環境では、 http://ports.ubuntu.com/ubuntu-ports を使用していることが確認できます。

groovyは 20.10 (Groovy Gorilla) のことを指しています。

cat /etc/apt/sources.list | grep -v "#"

deb http://ports.ubuntu.com/ubuntu-ports groovy main restricted

deb http://ports.ubuntu.com/ubuntu-ports groovy-updates main restricted

deb http://ports.ubuntu.com/ubuntu-ports groovy universe
deb http://ports.ubuntu.com/ubuntu-ports groovy-updates universe

deb http://ports.ubuntu.com/ubuntu-ports groovy multiverse
deb http://ports.ubuntu.com/ubuntu-ports groovy-updates multiverse

deb http://ports.ubuntu.com/ubuntu-ports groovy-backports main restricted universe multiverse

deb http://ports.ubuntu.com/ubuntu-ports groovy-security main restricted
deb http://ports.ubuntu.com/ubuntu-ports groovy-security universe
deb http://ports.ubuntu.com/ubuntu-ports groovy-security multiverse

レポジトリ書き換え

http://old-releases.ubuntu.com/ubuntu/dists/ に groovy があることを確認します。

sedコマンドで リポジトリの情報を管理している /etc/apt/sources.listold-releases.ubuntu.com へ置き換えます。

sed -i -e 's/ports.ubuntu.com\/ubuntu-ports/old-releases.ubuntu.com\/ubuntu/g' /etc/apt/sources.list

置き換え後確認

再度、 /etc/apt/sources.list を確認すると、 old-releases.ubuntu.com になっていることが確認できます。

cat /etc/apt/sources.list | grep -v "#"

deb http://old-releases.ubuntu.com/ubuntu groovy main restricted

deb http://old-releases.ubuntu.com/ubuntu groovy-updates main restricted

deb http://old-releases.ubuntu.com/ubuntu groovy universe
deb http://old-releases.ubuntu.com/ubuntu groovy-updates universe

deb http://old-releases.ubuntu.com/ubuntu groovy multiverse
deb http://old-releases.ubuntu.com/ubuntu groovy-updates multiverse

deb http://old-releases.ubuntu.com/ubuntu groovy-backports main restricted universe multiverse

対処後のパッケージリスト更新確認

再度、パッケージリスト更新を実行するとエラーなく更新することができました。

一安心ですね。

apt-get update

・
・[中略]
・
取得:42 http://old-releases.ubuntu.com/ubuntu groovy-security/main arm64 Packages [209 kB]
取得:43 http://old-releases.ubuntu.com/ubuntu groovy-security/main Translation-en [70.8 kB]
取得:44 http://old-releases.ubuntu.com/ubuntu groovy-security/main arm64 c-n-f Metadata [5,432 B]
取得:45 http://old-releases.ubuntu.com/ubuntu groovy-security/restricted arm64 Packages [2,652 B]
取得:46 http://old-releases.ubuntu.com/ubuntu groovy-security/restricted Translation-en [10.8 kB]
取得:47 http://old-releases.ubuntu.com/ubuntu groovy-security/restricted arm64 c-n-f Metadata [116 B]
取得:48 http://old-releases.ubuntu.com/ubuntu groovy-security/universe arm64 Packages [325 kB]
取得:49 http://old-releases.ubuntu.com/ubuntu groovy-security/universe Translation-en [66.7 kB]
取得:50 http://old-releases.ubuntu.com/ubuntu groovy-security/universe arm64 c-n-f Metadata [6,320 B]
取得:51 http://old-releases.ubuntu.com/ubuntu groovy-security/multiverse arm64 Packages [760 B]
取得:52 http://old-releases.ubuntu.com/ubuntu groovy-security/multiverse Translation-en [2,660 B]
取得:53 http://old-releases.ubuntu.com/ubuntu groovy-security/multiverse arm64 c-n-f Metadata [116 B]
24.2 MB を 15秒 で取得しました (1,596 kB/s)
パッケージリストを読み込んでいます... 完了

まとめ

Ubuntuでサポートが切れるとどんな風になり、どのように対応すれば良いか分かったので勉強になりました。

無事に更新がおこなえてよかったです。

ubuntu