📦

Ubuntuの日本国内向けapt mirror設定2024

2022/11/02に公開
3

結論

Ubuntu 24.04以降

sudo sed -i.bak -r 's@http://(jp\.)?archive\.ubuntu\.com/ubuntu/?@https://ftp.udx.icscoe.jp/Linux/ubuntu/@g' /etc/apt/sources.list.d/ubuntu.sources

Ubuntu 23.10以前(20.04, 22.04等)

sudo sed -i.bak -r 's@http://(jp\.)?archive\.ubuntu\.com/ubuntu/?@https://ftp.udx.icscoe.jp/Linux/ubuntu/@g' /etc/apt/sources.list

解説

UbuntuのaptリポジトリのURLは、Ubuntu 24.04以降では/etc/apt/sources.list.d/ubuntu.sources、23.10以前では/etc/apt/sources.listに書かれている。デフォルトで設定されているhttp://archive.ubuntu.com/ubuntu/を適当なミラーのURLに置き換えれば良い。

ただし、VPSやクラウド環境のUbuntuイメージではURLが多少異なっている場合がある。頭にjp.がついていたり、末尾に/がついていなかったりする。上記のコマンドではそれらの場合にも対応できる正規表現にしている。

ミラーサーバーの選択

Ubuntu向けの公開ミラーサーバーの一覧は以下のページに記載されている。

https://launchpad.net/ubuntu/+archivemirrors

私は2022年からICSCoEのミラーサーバーを使用している。私の知る限り日本国内で最速のミラーサーバーだ。ICSCoEはIPAの産業サイバーセキュリティセンターという組織らしいが、ミラーサーバー運用に関する公式な情報は見当たらなかった。あくまで非公式なサービスと考えるべきだが、このようなサービスを無償で提供していただけるのは非常にありがたい。

注意

  • 書き換え前にバックアップを取っておくことが望ましい。
    • sedの場合は-i.bakで作成できる。
  • security.ubuntu.comを書き換えてはいけない。
  • apt-mirror (mirror://mirrors.ubuntu.com/mirrors.txt)はおすすめできない。
    • 地理的に近いミラーサーバーをいくつか返す仕組みになっているが、地理的に近いサーバーが必ずしも速いとは限らない。
    • 不安定なサーバーを引くこともある。
GitHubで編集を提案

Discussion

GimletGimlet

Ubuntu 24.04からは/etc/apt/sources.list.d/ubuntu.sourcesに移ったようです。
/etc/apt/sources.list

# Ubuntu sources have moved to /etc/apt/sources.list.d/ubuntu.sources

/etc/apt/sources.list.d/ubuntu.sources

Types: deb
URIs: http://jp.archive.ubuntu.com/ubuntu/
Suites: noble noble-updates noble-backports
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

Types: deb
URIs: http://security.ubuntu.com/ubuntu/
Suites: noble-security
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

なので、24.04でやる場合、以下のようになります。

sudo sed -i.bak -r 's@http://(jp\.)?archive\.ubuntu\.com/ubuntu/?@https://ftp.udx.icscoe.jp/Linux/ubuntu/@g' /etc/apt/sources.list.d/ubuntu.sources
CiffeliaCiffelia

ありがとうございます。本文に反映させていただきました。

uu5007mpuu5007mp

proxmoxを使ってるのですがコンテナ版(LXC)だと/etc/apt/sources.listのままのようです

# cat /etc/apt/sources.list
deb https://ftp.udx.icscoe.jp/Linux/ubuntu/ oracular main restricted universe multiverse

deb https://ftp.udx.icscoe.jp/Linux/ubuntu/ oracular-updates main restricted universe multiverse

deb https://ftp.udx.icscoe.jp/Linux/ubuntu/ oracular-security main restricted universe multiverse

# cat /etc/apt/sources.list.d/ubuntu.sources
cat: /etc/apt/sources.list.d/ubuntu.sources: そのようなファイルやディレクトリはありません```