この記事では、Ubuntuの「アーカイブミラー」を、コマンドで切り替える方法を紹介します。
Ubuntuにdebパッケージをインストールする時、パッケージ管理システム「APT」により「アーカイブサーバー」と呼ばれる配布サーバーからダウンロードされます。アーカイブサーバーは、負荷分散を目的として、世界中で「公開アーカイブミラーサーバー(複製サーバー)」が運用されています。
そのため、より早くダウンロードできるアーカイブミラーサーバーに切り替えることで、パッケージのインストールにかかる時間が短くなります。利用するアーカイブサーバーは設定ファイルに記述されていますが、この記事で紹介するコマンドで一括置換すれば、簡単に変更することができます。
日本国内の主な公開Ubuntuミラーサーバー
日本国内にある、主な公開Ubuntuミラーサーバーは以下の通りです(2020年6月時点・主なサーバーのみ抜粋)。Ubuntuコミュニティに「Official Mirror」として登録されている公式ミラーと、非公式の公開ミラーがあります。
- 日本公式ミラーサーバー(富山大学)【公式・IPv4のみ】
- http://jp.archive.ubuntu.com/ubuntu/
- http://ubuntutym.u-toyama.ac.jp/ubuntu/
- 山形大学【公式・IPv6対応】
- http://linux.yz.yamagata-u.ac.jp/pub/linux/ubuntu/archives/
- 北陸先端科学技術大学院大学【公式・IPv6対応】
- http://ftp.jaist.ac.jp/pub/Linux/ubuntu/
- 筑波大学【公式・IPv6対応】
- http://ftp.tsukuba.wide.ad.jp/Linux/ubuntu/
- 奈良先端科学技術大学院大学【非公式・IPv6対応】
- http://ftp.naist.jp/pub/Linux/ubuntu/
- http://ftp.nara.wide.ad.jp/pub/Linux/ubuntu/
- 株式会社インターネットイニシアティブ【非公式・IPv6対応】
- http://ftp.iij.ad.jp/pub/linux/ubuntu/archive/
- 理化学研究所【公式・IPv4のみ】
- http://ftp.riken.jp/Linux/ubuntu/
Ubuntuデスクトップの場合、「ソフトウェアとアップデート」を開いて公式ミラーを切り替えることができます。デスクトップ環境をインストールしていない場合や、非公式ミラーに切り替える場合は、以下に紹介する方法で「/etc/apt/sources.list」を変更してください。
なお、どのミラーサーバーから早くダウンロードできるかは、接続中のネットワークにより異なります。pingコマンドで応答時間を調べたり、同じファイルをダウンロードして要する時間を比べたり、切り替え後に「sudo apt update」を実行して表示されるダウンロード速度を比べたりといった方法で、今後どのアーカイブサーバーを使うかを決めると良いでしょう。
/etc/apt/sources.listを一括置換
アーカイブサーバーのURLは、「/etc/apt/sources.list」に記述されています。以下はUbuntu 20.04 LTSの例です。コメント行は除外しています。
deb http://jp.archive.ubuntu.com/ubuntu/ focal main restricted
deb http://jp.archive.ubuntu.com/ubuntu/ focal-updates main restricted
deb http://jp.archive.ubuntu.com/ubuntu/ focal universe
deb http://jp.archive.ubuntu.com/ubuntu/ focal-updates universe
deb http://jp.archive.ubuntu.com/ubuntu/ focal multiverse
deb http://jp.archive.ubuntu.com/ubuntu/ focal-updates multiverse
deb http://jp.archive.ubuntu.com/ubuntu/ focal-backports main restricted universe multiverse
deb http://archive.canonical.com/ubuntu focal partner
deb http://security.ubuntu.com/ubuntu focal-security main restricted
deb http://security.ubuntu.com/ubuntu focal-security universe
deb http://security.ubuntu.com/ubuntu focal-security multiverse
この例では、日本の公式ミラーである「http://jp.archive.ubuntu.com/ubuntu/」が設定されています。メインサーバーである「http://archive.ubuntu.com/ubuntu/」が記述されていることもあります。これらをミラーサーバーのURLに書き換えた上で、「sudo apt update」を実行してパッケージ情報を更新しましょう。
sudoeditコマンドなどを使って手作業で編集することもできますが、以下のコマンドを実行すれば簡単にURLを置換できます。ただし、外部レポジトリを加えるなどの変更をsources.listに加えている場合は、設定が壊れてしまうこともあるため注意してください。通常、外部レポジトリは/etc/apt/sources.list.d/以下のファイルに記述するため、問題はないはずです。
パッケージの取得元をlinux.yz.yamagata-u.ac.jpに変更するコマンド:
sudo perl -p -i.bak -e 's%(deb(?:-src|)\s+)https?://(?!archive\.canonical\.com|security\.ubuntu\.com)[^\s]+%$1http://linux.yz.yamagata-u.ac.jp/pub/linux/ubuntu/archives/%' /etc/apt/sources.list
sudo apt update
パッケージの取得元をftp.jaist.ac.jpに変更するコマンド:
sudo perl -p -i.bak -e 's%(deb(?:-src|)\s+)https?://(?!archive\.canonical\.com|security\.ubuntu\.com)[^\s]+%$1http://ftp.jaist.ac.jp/pub/Linux/ubuntu/%' /etc/apt/sources.list
sudo apt update
パッケージの取得元をftp.tsukuba.wide.ad.jpに変更するコマンド:
sudo perl -p -i.bak -e 's%(deb(?:-src|)\s+)https?://(?!archive\.canonical\.com|security\.ubuntu\.com)[^\s]+%$1http://ftp.tsukuba.wide.ad.jp/Linux/ubuntu/%' /etc/apt/sources.list
sudo apt update
パッケージの取得元をftp.naist.jpに変更するコマンド:
sudo perl -p -i.bak -e 's%(deb(?:-src|)\s+)https?://(?!archive\.canonical\.com|security\.ubuntu\.com)[^\s]+%$1http://ftp.naist.jp/pub/Linux/ubuntu/%' /etc/apt/sources.list
sudo apt update
パッケージの取得元をftp.nara.wide.ad.jpに変更するコマンド:
sudo perl -p -i.bak -e 's%(deb(?:-src|)\s+)https?://(?!archive\.canonical\.com|security\.ubuntu\.com)[^\s]+%$1http://ftp.nara.wide.ad.jp/pub/Linux/ubuntu/%' /etc/apt/sources.list
sudo apt update
パッケージの取得元をftp.iij.ad.jpに変更するコマンド:
sudo perl -p -i.bak -e 's%(deb(?:-src|)\s+)https?://(?!archive\.canonical\.com|security\.ubuntu\.com)[^\s]+%$1http://ftp.iij.ad.jp/pub/linux/ubuntu/archive/%' /etc/apt/sources.list
sudo apt update
パッケージの取得元をftp.riken.jpに変更するコマンド:
sudo perl -p -i.bak -e 's%(deb(?:-src|)\s+)https?://(?!archive\.canonical\.com|security\.ubuntu\.com)[^\s]+%$1http://ftp.riken.jp/Linux/ubuntu/%' /etc/apt/sources.list
sudo apt update
なお、デフォルト設定の「jp.archive.ubuntu.com」(日本サーバー)あるいは「archive.ubuntu.com」(メインサーバー)に戻すには、以下のコマンドを実行してください。
パッケージの取得元をjp.archive.ubuntu.comに変更するコマンド:
sudo perl -p -i.bak -e 's%(deb(?:-src|)\s+)https?://(?!archive\.canonical\.com|security\.ubuntu\.com)[^\s]+%$1http://jp.archive.ubuntu.com/ubuntu/%' /etc/apt/sources.list
sudo apt update
パッケージの取得元をarchive.ubuntu.comに変更するコマンド:
sudo perl -p -i.bak -e 's%(deb(?:-src|)\s+)https?://(?!archive\.canonical\.com|security\.ubuntu\.com)[^\s]+%$1http://archive.ubuntu.com/ubuntu/%' /etc/apt/sources.list
sudo apt update
これらのコマンドでは、変更前のファイルを「/etc/apt/sources.list.bak」としてバックアップしています。もし「sudo apt update」を実行してエラーがでるようなら、「sudo cp /etc/apt/sources.list.bak /etc/apt/sources.list」を実行して元のファイルを復元してください。
うまく設定できれば、以下のようにパッケージ情報が更新され、ダウンロード速度が表示されます。各ミラーサーバーに切り替えてみて、最も速度が出るサーバーを使うようにすると良いでしょう。
コメント