「Reflector」の版間の差分
英語版と同期して自動化の項目を追加 |
→自動化: 同期 |
||
| (3人の利用者による、間の14版が非表示) | |||
| 12行目: | 12行目: | ||
{{Related|Pacman}} |
{{Related|Pacman}} |
||
{{Related articles end}} |
{{Related articles end}} |
||
[https://xyne.archlinux.ca/projects/reflector/ Reflector] は [https:// |
[https://xyne.archlinux.ca/projects/reflector/ Reflector] は [https://archlinux.org/mirrors/status/ Arch Linux Mirror Status] ページから最新のミラーリストを取得して、フィルタリングおよび速度でソートし、{{ic|/etc/pacman.d/mirrorlist}} ファイルを上書きする Python スクリプトです。 |
||
== インストール == |
== インストール == |
||
| 19行目: | 19行目: | ||
== 使用方法 == |
== 使用方法 == |
||
{{Warning| |
|||
* 最初に {{ic|/etc/pacman.d/mirrorlist}} ファイルをバックアップしておいてください。 |
|||
* [[Pacman]] で同期とアップデートをする前に {{ic|/etc/pacman.d/mirrorlist}} には信頼できないエントリが含まれていないようにしてください。}} |
|||
利用できるコマンドを表示するには、次のコマンドを実行: |
利用できるコマンドを表示するには、次のコマンドを実行: |
||
# reflector --help |
# reflector --help |
||
{{Note|通常、国ごとにミラーを絞り込むのは得策ではありません。ひとつの国に存在するミラーの数には限りがありますし、ネットワークの通信速度は地理的な距離だけで決まるものではないからです。}} |
|||
=== サンプル === |
=== サンプル === |
||
{{man|1|reflector|EXAMPLES}} を参照してください。 |
|||
以下のコマンドは同期が一番新しい5つのミラーを取り出して、速度でソートし、{{ic|/etc/pacman.d/mirrorlist}} ファイルを上書きします: |
|||
{{Note|{{ic|/etc/pacman.d/mirrorlist}} を上書きする例は root 権限で実行する必要があります。作業を進める前にバックアップを作成し、その後結果を確認してください。}} |
|||
# reflector --verbose --latest 5 --sort rate --save /etc/pacman.d/mirrorlist |
|||
以下のコマンドは、最近同期が行われた HTTP または HTTPS ミラー200個を選択して、ダウンロード速度でソートし、{{ic|/etc/pacman.d/mirrorlist}} ファイルを上書きします: |
|||
# reflector --latest 200 --protocol http --protocol https --sort rate --save /etc/pacman.d/mirrorlist |
|||
以下のコマンドはアメリカに存在する、12時間以内に同期が行われた HTTPS ミラーを選択して、ダウンロード速度でソートし、{{ic|/etc/pacman.d/mirrorlist}} ファイルを上書きします: |
|||
# reflector --country 'United States' --age 12 --protocol https --sort rate --save /etc/pacman.d/mirrorlist |
|||
== 自動化 == |
== 自動化 == |
||
=== |
=== systemd サービス === |
||
pacman フックを作成して {{Pkg|pacman-mirrorlist}} が更新されるたびに ''reflector'' を実行して {{ic|.pacnew}} ファイルを削除するように設定できます: |
|||
{{hc|/etc/pacman.d/hooks/mirrorupgrade.hook|<nowiki> |
|||
[Trigger] |
|||
Operation = Upgrade |
|||
Type = Package |
|||
Target = pacman-mirrorlist |
|||
[Action] |
|||
Description = Updating pacman-mirrorlist with reflector and removing pacnew... |
|||
When = PostTransaction |
|||
Depends = reflector |
|||
Exec = /bin/sh -c "reflector --country 'United States' --latest 200 --age 24 --sort rate --save /etc/pacman.d/mirrorlist; rm -f /etc/pacman.d/mirrorlist.pacnew" |
|||
</nowiki>}} |
|||
''reflector'' の引数は適宜書き換えてください。 |
|||
pacman フックについて詳しくは [[Pacman#フック]]を参照。 |
|||
=== Systemd サービス === |
|||
{{hc|/etc/systemd/system/reflector.service|<nowiki> |
|||
[Unit] |
|||
Description=Pacman mirrorlist update |
|||
[Service] |
|||
Type=oneshot |
|||
ExecStart=/usr/bin/reflector --protocol https --latest 30 --number 20 --sort rate --save /etc/pacman.d/mirrorlist |
|||
</nowiki>}} |
|||
{{ic|reflector.service}} を[[起動]]すればミラーリストが更新されます。 |
|||
コンピュータが起動するたびにミラーリストを更新するには以下のサービスを有効にしてください。 |
|||
{{hc|/etc/systemd/system/reflector.service|<nowiki> |
|||
[Unit] |
|||
Description=Pacman mirrorlist update |
|||
Requires=network-online.target |
|||
After=network-online.target |
|||
[Service] |
|||
Type=oneshot |
|||
ExecStart=/usr/bin/reflector --protocol https --latest 30 --number 20 --sort rate --save /etc/pacman.d/mirrorlist |
|||
[Install] |
|||
RequiredBy=multi-user.target |
|||
</nowiki>}} |
|||
{{ic|network.target}} がネットワーク状態を正確に反映するように [https://www.freedesktop.org/wiki/Software/systemd/NetworkTarget/ 適当なサービスを有効化] してください。 |
|||
Reflector には {{ic|reflector.service}} が同梱されており、{{ic|/etc/xdg/reflector/reflector.conf}} に指定されたオプションを使って Reflector を実行します。このファイルにあるデフォルトのオプションは、良い出発点であり例となります。 |
|||
=== Systemd タイマー === |
|||
{{ic|reflector.service}} を |
Reflector を起動時に実行するには {{ic|reflector.service}} を [[有効化]] してください。すぐに実行する場合は、サービスを [[起動]] します。 |
||
{{Note|{{ic|reflector.service}} は [[systemd#ネットワークが稼働した後にサービスを実行する|network-online.target]] を介してネットワーク待機サービスが設定されている必要があります。}} |
|||
{{hc|/etc/systemd/system/reflector.timer|<nowiki> |
|||
[Unit] |
|||
Description=Run reflector weekly |
|||
=== systemd タイマー === |
|||
[Timer] |
|||
OnCalendar=weekly |
|||
RandomizedDelaySec=12h |
|||
Persistent=true |
|||
Reflector は [[systemd/タイマー]]({{ic|reflector.timer}})を提供しており、[[#systemd サービス]] {{ic|reflector.service}} を週に一度起動します。スケジュールは {{ic|reflector.timer}} を [[編集]] することで変更できます。 |
|||
[Install] |
|||
WantedBy=timers.target |
|||
</nowiki>}} |
|||
{{ic|reflector.service}} が起動する際のデフォルトオプションを変更するには、[[#systemd サービス]] で説明されているように設定ファイルを編集してください。その後、{{ic|reflector.timer}} を [[起動]] し、[[有効化]] します。 |
|||
作成したら {{ic|reflector.timer}} を[[起動]]してください。 |
|||
スケジュールより前にミラーリストを更新したい場合は、{{ic|reflector.service}} を [[起動]] してください。 |
|||
==== AUR パッケージ ==== |
|||
=== pacman フック === |
|||
{{AUR|reflector-timer}}{{Broken package link|パッケージが存在しません}} パッケージを使って ''reflector'' を毎週実行することもできます。 |
|||
{{Pkg|pacman-mirrorlist}} は定期的に更新されるわけではなく、世界のどこかでミラーが追加・削除されたからといって reflector を呼び出すのは適切ではありません。その代わりに [[systemd/タイマー]] のアプローチを利用してください。{{ic|mirrorlist.pacnew}} をまったくインストールしたくない場合は、{{ic|/etc/pacman.conf}} の [[pacman#インストールさせないファイルを設定|NoExtract]] を使用してください。 |
|||
デフォルト設定: |
|||
{{hc|/usr/share/reflector-timer/reflector.conf|<nowiki> |
|||
AGE=6 |
|||
COUNTRY=Germany |
|||
LATEST=30 |
|||
NUMBER=20 |
|||
SORT=rate |
|||
</nowiki>}} |
|||
== 参照 == |
|||
設定を上書きするには {{ic|/etc/conf.d/reflector.conf}} を編集: |
|||
{{hc|/etc/conf.d/reflector.conf|<nowiki> |
|||
COUNTRY=US |
|||
</nowiki>}} |
|||
* [https://bbs.archlinux.org/viewtopic.php?id=115714 Reflector Arch Linux フォーラムのスレッド] |
|||
インストールしたら {{ic|reflector.timer}} を[[有効化]]してください。 |
|||
* [https://xyne.archlinux.ca/projects/reflector/ 変更ログを含むアップストリームプロジェクトページ] |
|||
2025年8月23日 (土) 10:20時点における最新版
Reflector は Arch Linux Mirror Status ページから最新のミラーリストを取得して、フィルタリングおよび速度でソートし、/etc/pacman.d/mirrorlist ファイルを上書きする Python スクリプトです。
インストール
使用方法
利用できるコマンドを表示するには、次のコマンドを実行:
# reflector --help
サンプル
reflector(1) § EXAMPLES を参照してください。
/etc/pacman.d/mirrorlist を上書きする例は root 権限で実行する必要があります。作業を進める前にバックアップを作成し、その後結果を確認してください。自動化
systemd サービス
Reflector には reflector.service が同梱されており、/etc/xdg/reflector/reflector.conf に指定されたオプションを使って Reflector を実行します。このファイルにあるデフォルトのオプションは、良い出発点であり例となります。
Reflector を起動時に実行するには reflector.service を 有効化 してください。すぐに実行する場合は、サービスを 起動 します。
reflector.service は network-online.target を介してネットワーク待機サービスが設定されている必要があります。systemd タイマー
Reflector は systemd/タイマー(reflector.timer)を提供しており、#systemd サービス reflector.service を週に一度起動します。スケジュールは reflector.timer を 編集 することで変更できます。
reflector.service が起動する際のデフォルトオプションを変更するには、#systemd サービス で説明されているように設定ファイルを編集してください。その後、reflector.timer を 起動 し、有効化 します。
スケジュールより前にミラーリストを更新したい場合は、reflector.service を 起動 してください。
pacman フック
pacman-mirrorlist は定期的に更新されるわけではなく、世界のどこかでミラーが追加・削除されたからといって reflector を呼び出すのは適切ではありません。その代わりに systemd/タイマー のアプローチを利用してください。mirrorlist.pacnew をまったくインストールしたくない場合は、/etc/pacman.conf の NoExtract を使用してください。