Arm64版Ubuntuのミラーサイトはよく選ばないといけない

Ubuntuを使ってると、aptのダウンロードURLを自身のプロバイダに近い場所に設定することはよくあると思います。 先日初めてUbuntu22のArm64版を使ったのですがいつも使ってたミラーサイトをそのまま/etc/apt/sources.listに設定したら使えなかったので、設定変更に手間取りました。

# サマリ

# Arm64で使えないミラーサイト

日本語でUbuntuのミラーサイトをググると下記のページがヒットします。

私もよくここからURLを選んで使ってたのですが、Arm64向けのUbuntuで設定してみたらうまくいかず、apt updateさえできなくなってました。 ということで何が違うのか確認してみたのですが、

一番丈夫に記載されている富山大学 (opens new window)のミラーのjammy(22.04)の内容を見てみると、 Contents-amd64.gzとContents-i386.gzはあるのですが、Arm64や他のアーキテクチャはないことがわかります。

富山大学ミラーのコンテンツ

# Arm64で使えるミラーサイト

対して、Arm64版Ubuntu22に最初からaptのURLに指定されているports.ubuntu.com (opens new window)の場合、 i386, amd64の代わりに、arm64, armhf, ppc64el, riscv64, s390xなどが配置されています。 要はports指定されているミラーを指定しないといけないということのようです。

ports.ubuntu.comのコンテンツ

幸いなことに、Ubuntu公式の全世界のミラーサイト一覧Official Archive Mirrors for Ubuntu (opens new window)をみると、 日本のミラーサイトの一部にはPortsの記載があります。ここから選択すればいいわけですね。

どうも、ports指定するミラーサイトのURLのパスは、/ubuntu/ではなく、ubuntu-portsになっているようです。 2024/03/01現在、日本にあるミラーサイトでubuntu-portsに対応してるものは下記がありました。

いずれのサイトもhttp/https両対応しているようなので、セキュリティ要件がなければhttpでもいいんじゃないかと思います。
普通にブラウザでアクセスすると勝手にhttpsになっちゃうと思いますので注意。

# aptのミラーサイト設定

通常のubuntuと同じではありますが、/etc/apt/sources.listに多数あるURLを差し替えることでミラーサイトに切り替えることができます。

コマンド一発で切り替えるのであれば、下記のコマンドでいいでしょう

sed -i -e "s%http://ports.ubuntu.com/ubuntu-ports/%http://mirror.nishi.network/ubuntu-ports/%g" /etc/apt/sources.list