ミラー

提供: ArchWiki
2023年4月13日 (木) 14:54時点におけるKusanaginoturugi (トーク | 投稿記録)による版 (→‎非公式ミラー: 別のページに移動)
ナビゲーションに移動 検索に移動

関連記事

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

公式ミラー

公式の 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 でオプションを全て一覧できます。

ライブミラーリストの取得と順位付け

ある国にある最新のミラーのショートリストを作って rankmirrors に送るには、Pacman Mirrorlist Generator からリストを取得することができます。 以下のコマンドは https プロトコルをサポートする 日本オーストラリア の最新ミラーを取得し、リスト内のサーバーのコメントを解除し、ランク付けして最も速い5つを出力します。

$ curl -s "https://archlinux.org/mirrorlist/?country=JP&country=AU&protocol=https&use_mirror_status=on" | sed -e 's/^#Server/Server/' -e '/^#/d' | rankmirrors -n 5 -
ヒント: この手順は、任意のテキストベースのブラウザ、例えば elinks(1)https://archlinux.org/mirrorlist にナビゲートすることで対話的に行うことができます

既存のツール

Rate Mirrors — これはミラーを取得し、古いミラーや同期していないミラーをスキップし、海底ケーブルやインターネット交換に関する情報を使って国間を移動し、高速なミラーを見つけます。そして、各アップデートの前に実行するのに十分な速さです。stdin を通して送られるカスタムミラーリストもサポートします。

https://github.com/westandskif/rate-mirrors || rate-mirrorsAUR rate-mirrors-binAUR

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

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

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

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

トラブルシューティング

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

ミラーの動作不良

ミラーが適切に動作しておらず、それが ミラーのステータス ページ に反映されていないことが確実な場合は、ミラーを変更して バグレポートを開いてください。 ミラーの場合、課題は Arch Linux プロジェクト (ログイン ボックスのすぐ下のリストを参照するか、ページで スイッチ を検索してください) タスク タイプ バグレポート、カテゴリ ミラー で開く必要があります。

参照