「Reflector」の版間の差分
Kusanaginoturugi (トーク | 投稿記録) (序文を修正) |
|||
(6人の利用者による、間の18版が非表示) | |||
5行目: | 5行目: | ||
[[it:Reflector]] |
[[it:Reflector]] |
||
[[ko:Reflector]] |
[[ko:Reflector]] |
||
+ | [[pl:Reflector]] |
||
[[ru:Reflector]] |
[[ru:Reflector]] |
||
− | [[zh- |
+ | [[zh-hans:Reflector]] |
{{Related articles start}} |
{{Related articles start}} |
||
{{Related|ミラー}} |
{{Related|ミラー}} |
||
{{Related|Pacman}} |
{{Related|Pacman}} |
||
{{Related articles end}} |
{{Related articles end}} |
||
− | [ |
+ | [https://xyne.archlinux.ca/projects/reflector/ Reflector] は [https://archlinux.org/mirrors/status/ Arch Linux Mirror Status] ページから最新のミラーリストを取得して、フィルタリングおよび速度でソートし、{{ic|/etc/pacman.d/mirrorlist}} ファイルを上書きする Python スクリプトです。 |
== インストール == |
== インストール == |
||
− | + | {{Pkg|reflector}} パッケージを[[インストール]]してください。 |
|
== 使用方法 == |
== 使用方法 == |
||
{{Warning| |
{{Warning| |
||
− | * 最初に {{ic|/etc/pacman.d/mirrorlist}} ファイルをバックアップしておいてください |
+ | * 最初に {{ic|/etc/pacman.d/mirrorlist}} ファイルをバックアップしておいてください。 |
− | # cp -vf /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.backup |
||
* [[Pacman]] で同期とアップデートをする前に {{ic|/etc/pacman.d/mirrorlist}} には信頼できないエントリが含まれていないようにしてください。}} |
* [[Pacman]] で同期とアップデートをする前に {{ic|/etc/pacman.d/mirrorlist}} には信頼できないエントリが含まれていないようにしてください。}} |
||
28行目: | 28行目: | ||
=== サンプル === |
=== サンプル === |
||
+ | {{man|1|reflector|EXAMPLES}} を参照してください。サンプルは {{ic|/etc/pacman.d/mirrorlist}} を上書きします。root として実行する必要があります。{{Tip|1=ワールドワイドサーバーを含めるには、country フラグに空の文字列を渡します。例えば、フランス、ドイツおよびワールドワイドミラーを含めるには、{{ic|--country 'France,Germany,'}} を使用します。[https://bbs.archlinux.org/viewtopic.php?pid=1975404#p1975404]}} |
||
− | ==== 例 1 ==== |
||
− | 以下のコマンドは最初の5つのミラーを取り出して、速度でソートし、{{ic|/etc/pacman.d/mirrorlist}} ファイルを上書きします: |
||
− | # reflector --verbose -l 5 --sort rate --save /etc/pacman.d/mirrorlist |
||
− | + | == 自動化 == |
|
− | 次のコマンドは、最近同期が行われた HTTP サーバー200個を細かく評価して、ダウンロード速度でソートし、{{ic|/etc/pacman.d/mirrorlist}} ファイルを上書きします: |
||
− | # reflector --verbose -l 200 -p http --sort rate --save /etc/pacman.d/mirrorlist |
||
− | + | === Systemd サービス === |
|
− | 次のコマンドはアメリカに存在する、最近同期が行われた HTTP サーバー200個を細かく評価して、、ダウンロード速度でソートし、{{ic|/etc/pacman.d/mirrorlist}} ファイルを上書きします: |
||
− | # reflector --verbose --country 'United States' -l 200 -p http --sort rate --save /etc/pacman.d/mirrorlist |
||
+ | サービスは、{{ic|/etc/xdg/reflector/reflector.conf}} で指定されたパラメータを使用し Reflector を実行します。このファイルのデフォルトのオプションは、例として示しています。 |
||
− | ==== Systemd サービス ==== |
||
+ | たとえば、HTTPS をサポートし、上書き {{ic|/etc/pacman.d/mirrorlist}} する最新の5つのミラーを日本とオーストラリアから選択するには、次のコマンドを使用します。 |
||
− | {{hc|/etc/systemd/system/reflector.service|<nowiki> |
||
− | [Unit] |
||
− | Description=Pacman mirrorlist update |
||
+ | {{hc|/etc/xdg/reflector/reflector.conf| |
||
− | [Service] |
||
+ | --save /etc/pacman.d/mirrorlist |
||
− | Type=oneshot |
||
+ | --country Japan,Australia |
||
− | ExecStart=/usr/bin/reflector --protocol http --latest 30 --number 20 --sort rate --save /etc/pacman.d/mirrorlist |
||
+ | --protocol https |
||
− | </nowiki>}} |
||
+ | --latest 5 |
||
+ | }} |
||
− | {{ic| |
+ | {{ic|reflector.service}} を [[有効化]] すればミラーリストが起動時に更新されます。 |
+ | {{Note|{{ic|reflector.service}} は、[[systemd#ネットワークが稼働した後にサービスを実行する|network-online.target]] を介して設定されるネットワーク待機サービスに依存します。}} |
||
− | コンピュータが起動するたびにミラーリストを更新するには以下のサービスを有効にしてください。 |
||
+ | === Systemd タイマー === |
||
− | {{hc|/etc/systemd/system/reflector.service|<nowiki> |
||
− | [Unit] |
||
− | Description=Pacman mirrorlist update |
||
− | Requires=network.target |
||
− | After=network.target |
||
+ | バージョン2020.8 以降、Reflector は [[systemd/タイマー]] ({{ic|reflector.timer}}) を提供しており、 [[Reflector#Systemd サービス]] {{ic|reflector.service}} を毎週開始します。スケジュールは {{ic|reflector.timer}} を [https://wiki.archlinux.jp/index.php/Systemd#.E3.83.A6.E3.83.8B.E3.83.83.E3.83.88.E3.83.95.E3.82.A1.E3.82.A4.E3.83.AB.E3.81.AE.E7.B7.A8.E9.9B.86 編集] することで変更できます。 |
||
− | [Service] |
||
− | Type=oneshot |
||
− | ExecStart=/usr/bin/reflector --protocol http --latest 30 --number 20 --sort rate --save /etc/pacman.d/mirrorlist |
||
+ | まず、[[Reflector#Systemd サービス]] の説明に従って、設定ファイルを編集します。設定ファイルを更新した後、{{ic|reflector.timer}} を [[有効化]] してください。 |
||
− | [Install] |
||
− | RequiredBy=network.target |
||
− | </nowiki>}} |
||
+ | ミラーリストをスケジュールより先に更新するには、{{ic|reflector.service}} を [https://wiki.archlinux.jp/index.php/Systemd#.E3.83.A6.E3.83.8B.E3.83.83.E3.83.88.E3.82.92.E4.BD.BF.E3.81.86 start] してください。 |
||
− | {{ic|network.target}} がネットワーク状態を正確に反映するように [http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget/ 適当なサービスを有効化] してください。 |
||
− | + | === Pacman フック === |
|
+ | {{Pkg|pacman-mirrorlist}} は定期的に更新されず、世界の一部のミラーが追加または削除されたという理由だけで reflector を呼び出します。代わりにタイマーベースの自動化を使いましょう。もし {{ic|mirrorlist.pacnew}} を全くインストールしたくない場合は、{{ic|pacman.conf}} で {{ic|NoExtract}} を使って下さい。 |
||
− | {{ic|reflector.service}} を一週間ごとに実行したい場合: |
||
+ | == 参照 == |
||
− | {{hc|/etc/systemd/system/reflector.timer|<nowiki> |
||
− | [Unit] |
||
− | Description=Run reflector weekly |
||
+ | * [https://bbs.archlinux.org/viewtopic.php?id=115714 Reflector Arch Linux フォーラムのスレッド] |
||
− | [Timer] |
||
+ | * [https://xyne.archlinux.ca/projects/reflector/ 変更ログを含むアップストリームプロジェクトページ] |
||
− | OnCalendar=weekly |
||
− | AccuracySec=12h |
||
− | Persistent=true |
||
− | |||
− | [Install] |
||
− | WantedBy=timers.target |
||
− | </nowiki>}} |
||
− | |||
− | タイマーを起動: |
||
− | |||
− | # systemctl enable reflector.timer |
2023年4月13日 (木) 14:43時点における最新版
Reflector は Arch Linux Mirror Status ページから最新のミラーリストを取得して、フィルタリングおよび速度でソートし、/etc/pacman.d/mirrorlist
ファイルを上書きする Python スクリプトです。
インストール
使用方法
利用できるコマンドを表示するには、次のコマンドを実行:
# reflector --help
サンプル
reflector(1) § EXAMPLES を参照してください。サンプルは /etc/pacman.d/mirrorlist
を上書きします。root として実行する必要があります。
自動化
Systemd サービス
サービスは、/etc/xdg/reflector/reflector.conf
で指定されたパラメータを使用し Reflector を実行します。このファイルのデフォルトのオプションは、例として示しています。
たとえば、HTTPS をサポートし、上書き /etc/pacman.d/mirrorlist
する最新の5つのミラーを日本とオーストラリアから選択するには、次のコマンドを使用します。
/etc/xdg/reflector/reflector.conf
--save /etc/pacman.d/mirrorlist --country Japan,Australia --protocol https --latest 5
reflector.service
を 有効化 すればミラーリストが起動時に更新されます。
Systemd タイマー
バージョン2020.8 以降、Reflector は systemd/タイマー (reflector.timer
) を提供しており、 Reflector#Systemd サービス reflector.service
を毎週開始します。スケジュールは reflector.timer
を 編集 することで変更できます。
まず、Reflector#Systemd サービス の説明に従って、設定ファイルを編集します。設定ファイルを更新した後、reflector.timer
を 有効化 してください。
ミラーリストをスケジュールより先に更新するには、reflector.service
を start してください。
Pacman フック
pacman-mirrorlist は定期的に更新されず、世界の一部のミラーが追加または削除されたという理由だけで reflector を呼び出します。代わりにタイマーベースの自動化を使いましょう。もし mirrorlist.pacnew
を全くインストールしたくない場合は、pacman.conf
で NoExtract
を使って下さい。