Arch Linuxのmirrorlistを更新してダウンロード速度を高速化する方法
Arch Linuxのmirrorlistをreflectorを使って更新し、ダウンロード速度を劇的に向上させる手順を解説。初心者でも簡単に実践できる具体的なコマンドとトラブルシューティング付き。
はじめに
Arch Linuxを使用していると、パッケージのダウンロード速度が遅いと感じることがあるかもしれません。その原因の多くは、mirrorlist(ミラーサーバーのリスト)が最適化されていないことです。デフォルトのmirrorlistは世界中のミラーを含んでおり、地理的に遠いサーバーを参照している可能性があります。この記事では、reflectorを使ったmirrorlistの自動更新方法を紹介し、ダウンロード速度を劇的に改善する手順を解説します。
前提条件
sudo権限を持つユーザーで操作すること1. 現在のmirrorlistを確認する
まず、現在のmirrorlistの状態を確認しましょう。
cat /etc/pacman.d/mirrorlist
このファイルには、ミラーサーバーのURLがリストされています。各行の先頭に#が付いているものはコメントアウトされており、有効なミラーはServer = ...の形式で記述されています。デフォルトでは、多くのミラーがコメントアウトされている場合があります。
2. pacmanのキャッシュをクリアする(オプション)
高速化の効果を実感しやすくするため、事前にパッケージキャッシュをクリアしておくと良いでしょう。
sudo pacman -Scc
このコマンドは、ダウンロード済みのパッケージキャッシュをすべて削除します。注意点として、キャッシュを削除すると再ダウンロードが必要になるため、通信量が増加します。
3. reflectorをインストールする
reflectorは、高速なミラーサーバーを自動的に選択し、mirrorlistを更新するツールです。
sudo pacman -S reflector
4. バックアップを取る
mirrorlistを編集する前に、必ずバックアップを取得しましょう。
sudo cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.backup
5. reflectorでmirrorlistを更新する
reflectorを使用して、最新かつ高速なミラーを自動選択します。以下のコマンドは、日本から最も高速な5つのミラーを取得し、mirrorlistを上書きします。
sudo reflector --country Japan --latest 5 --protocol https --sort rate --save /etc/pacman.d/mirrorlist
各オプションの説明:
--country Japan:日本のミラーに限定--latest 5:最新の5つのミラーを取得--protocol https:HTTPSプロトコルのみを対象--sort rate:ダウンロード速度順にソート--save /etc/pacman.d/mirrorlist:結果をmirrorlistに保存国を指定しない場合は、全世界から高速なミラーを自動選択することもできます。
sudo reflector --latest 10 --protocol https --sort rate --save /etc/pacman.d/mirrorlist
6. 更新後のmirrorlistを確認する
更新されたmirrorlistを確認します。
cat /etc/pacman.d/mirrorlist
先頭に#がなく、Server = ...の行が有効なミラーです。また、各ミラーの横にコメントで速度情報が追加されています。
7. パッケージデータベースを更新する
新しいmirrorlistを反映させるため、パッケージデータベースを更新します。
sudo pacman -Syu
これで、今後のパッケージダウンロードが高速化されます。
8. 速度の変化を体感する
更新前後でダウンロード速度を比較してみましょう。例えば、大きなパッケージ(例:linuxカーネル)をダウンロードして時間を計測します。
<h1>更新前(バックアップを使用)</h1>
sudo cp /etc/pacman.d/mirrorlist.backup /etc/pacman.d/mirrorlist
time sudo pacman -S linux --downloadonly --noconfirm
<h1>更新後(再度更新)</h1>
sudo reflector --country Japan --latest 5 --protocol https --sort rate --save /etc/pacman.d/mirrorlist
time sudo pacman -S linux --downloadonly --noconfirm
--downloadonlyオプションでダウンロードのみ行い、timeコマンドで所要時間を計測します。明らかな速度向上が確認できるはずです。
トラブルシューティング
1. ミラーが応答しない場合
reflector実行時にエラーが発生する場合、特定のミラーがダウンしている可能性があります。--latestの数を増やすか、国を指定せずに実行してみてください。
sudo reflector --latest 20 --protocol https --sort rate --save /etc/pacman.d/mirrorlist
2. pacmanがエラーを出す場合
pacman -Syu実行時に「invalid or corrupted database」などのエラーが出る場合、mirrorlistに問題がある可能性があります。バックアップから復元します。
sudo cp /etc/pacman.d/mirrorlist.backup /etc/pacman.d/mirrorlist
sudo pacman -Syu
その後、再度reflectorを実行するか、手動でmirrorlistを編集してください。
3. 特定のミラーを手動で追加したい場合
reflectorを使わずに、自分でミラーを追加することも可能です。信頼できるミラーのURLを/etc/pacman.d/mirrorlistに追記します。フォーマットは以下の通りです。
Server = https://mirror.example.com/archlinux/$repo/os/$arch
追加後、sudo pacman -Syuでデータベースを更新します。
4. 自動更新を設定したい場合
定期的にmirrorlistを自動更新するには、systemdのタイマーを利用します。
sudo systemctl enable reflector.timer
sudo systemctl start reflector.timer
これにより、週に1回自動的にmirrorlistが更新されます。設定は/etc/xdg/reflector/reflector.confで変更可能です。
*この記事はArch Linuxを実機で日常運用しているSioが、実際のインストール・設定経験に基づいてAI生成コンテンツをレビュー・補完しています。btrfsサブボリュームとLUKS暗号化環境で検証済みです。*
まとめ
Arch Linuxのmirrorlistをreflectorで更新することで、ダウンロード速度を大幅に改善できます。手順は簡単で、バックアップを取った上でコマンドを実行するだけです。定期的な自動更新を設定すれば、常に最適なミラーを利用できるようになります。ぜひ実践して、快適なArch Linuxライフを送ってください。