ミラー

提供: ArchWiki
2020年9月15日 (火) 17:20時点におけるHiromi-mi (トーク | 投稿記録)による版 (英語版に追従 (ミラーリストは除く))
ナビゲーションに移動 検索に移動

関連記事

このページにはミラーの選択と設定のガイドと現在利用できるミラーのリストがあります。

公式ミラー

公式の Arch Linux ミラーリストは pacman-mirrorlist パッケージから取得されます。最新のミラーリストを取得したい場合、メインサイトの Pacman Mirrorlist Generator ページを使ってください。

Arch ミラーの状態は Mirror Status のページで確認できます。できるかぎり最新となっているミラーを使用することを推奨します。

公式のミラーリストにミラーを追加して欲しい場合は、DeveloperWiki:新しいミラー を見てください。それまでは、このページの下部にある#非公式ミラーリストに追加してください。

IPv6 対応ミラー

Pacman Mirrorlist Generator を使って最新の IPv6 ミラーのリストを確認することができます。

特定のミラーを有効にする

ミラーを有効にするには、/etc/pacman.d/mirrorlist を開いてあなたの国の部分を見て下さい。あなたが使いたいミラーをアンコメントします。

例:

# Japan
# Server = ftp://ftp.jaist.ac.jp/pub/Linux/ArchLinux/$repo/os/$arch
Server = http://ftp.jaist.ac.jp/pub/Linux/ArchLinux/$repo/os/$arch

ミラーの選択を助けるツールについては #ミラーをソートする を見て下さい。

ヒント:
  • 好みの5つのミラーをアンコメントしてミラーリストファイルの一番上に置いて下さい。最初のミラーに問題が起こったとしても他のミラーに移ることができるようになります。ミラーリストのアップデートをマージするのが簡単になるメリットもあります。
  • HTTP の持続的接続があるため、HTTP のミラーの方が FTP よりも高速です。FTP では、パッケージのダウンロードをリクエストするたびに新しい接続を確立する必要があるため、pacman はそのたびに停止してしまいます。

/etc/pacman.conf でミラーを指定することも可能です。[core] リポジトリのデフォルトの設定は以下の通りです:

[core]
Include = /etc/pacman.d/mirrorlist

JAIST のミラーをデフォルトのミラーとして使いたい場合、Include 行の前に次を追加してください:

[core]
Server = ftp://ftp.jaist.ac.jp/pub/Linux/ArchLinux/core/os/$arch
Include = /etc/pacman.d/mirrorlist

pacman は最初にこのミラーに接続を試行するようになります。同じように [testing], [extra], [community] でミラーを設定することができます。

ノート: ミラーを直接 pacman.conf で指定する場合、全てのリポジトリで同じミラーを使うようにしてください。そうしないと、インストールされるパッケージ同士の互換性が失われます。例えば [core] の linux が最新なのに対して [extra] のカーネルモジュールが古いということがありえます。

pacman にパッケージリストを更新させる

/etc/pacman.d/mirrorlist を作成・編集した後は次のコマンドを実行してください:

# pacman -Syyu

2つの --refresh-y フラグを渡すと (リストが最新でも) 強制的に pacman の全てのパッケージリストを更新させます。新しいミラーに変更した時はいつでも pacman -Syy をするようにして下さい。無用な問題を避けることができます。Is -Syy safe? も参照。

ミラーをソートする

パッケージをダウンロードする際、pacman は /etc/pacman.d/mirrorlist に書かれた順番でミラーを使用します。更新頻度と速度でミラーをソートする Reflector を使わない場合、以下の方法で手動でミラーをソートしてください。

最速のミラーだけを使うのはいいアイデアとは言えません。最速のミラーの更新が遅れることがありえるからです。速度で並び替えてからミラーの状態 を見て同期が遅れているミラーを排除するほうが良いでしょう。

速度で並び替える

pacman-contrib パッケージに含まれている Bash スクリプト /usr/bin/rankmirrors で最速のローカルミラーを決定することができます。

既存の /etc/pacman.d/mirrorlist をバックアップしてください:

# cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.backup

/etc/pacman.d/mirrorlist.backup を編集して rankmirrors でテストするミラーをアンコメントしてください。

全てのミラーをアンコメントしたいなら以下の sed を実行:

# sed -i 's/^#Server/Server/' /etc/pacman.d/mirrorlist.backup

最後に、ミラーにランク付けをします。-n 6 は最速の6つのミラーを出力することを意味しています:

# rankmirrors -n 6 /etc/pacman.d/mirrorlist.backup > /etc/pacman.d/mirrorlist

rankmirrors -h でオプションを全て一覧できます。

サーバーサイドのランク付け

公式の Pacman Mirrorlist Generator を使うことで簡単にランク付けされたミラーのリストを取得できます。ランク付けには複数の要因が絡んでいるので、ミラーやクライアントの負担によって数値は変わる可能性があります。

サーバーをランク付けしてミラーリストを自動で生成するスクリプトは複数存在します:

  • ReflectorMirrorStatus ページから最新のミラーリストを取得して、最新のミラーだけを抽出してから、速度でミラーをソートし、/etc/pacman.d/mirrorlist ファイルを上書きします。
  • armrrPacman Mirrorlist Generator から特定の国のミラーリストをダウンロードして、現在のミラーリストにのバックアップを作成します。

特定の国のミラーだけを抽出する

毎回、ミラーの速度をテストするかわりに特定の国もミラーリストだけを自動で生成するというのもありです。pacman-mirrorlist をアップデートした後に mirrorlist.pacnew が存在するとき、以下を実行することで日本のミラーだけをリストアップできます:

awk '/^## Japan$/ {f=1; next} f==0 {next} /^$/ {exit} {print substr($0, 1)}' \
    /etc/pacman.d/mirrorlist.pacnew

トラブルシューティング

mirrorlist が存在しない場合

error: config file /etc/pacman.d/mirrorlist could not be read: No such file or directory

というエラーに遭遇した場合は、公式サイトから直接ミラーの一覧を取得してください:

# curl -o /etc/pacman.d/mirrorlist https://www.archlinux.org/mirrorlist/all/

上述のとおり好ましいミラーをアンコメントして、次を実行:

# pacman -Syu pacman-mirrorlist

非公式ミラー

以下のミラーは /etc/pacman.d/mirrorlist記載されていません

オーストリア

カナダ

中国

Telecom

Unicom

Cernet

フランス

インドネシア

イラン

イタリア

日本

マレーシア

オランダ

ニュージーランド

ポーランド

ロシア

南アフリカ

スウェーデン

タイ

トルコ

アメリカ合衆国

Sourceforge (旧 ISO)

参照