「Reflector」の版間の差分
Kusanaginoturugi (トーク | 投稿記録) (→サンプル: 英語版に差し替えおよび翻訳) |
(→自動化: 同期) |
||
| (2人の利用者による、間の5版が非表示) | |||
| 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}} を参照してください。サンプルは {{ic|/etc/pacman.d/mirrorlist}} を上書きします。root として実行する必要があります。{{Tip|1=ワールドワイドサーバーを含めるには、country フラグに空の文字列を渡します。例えば、フランス、ドイツおよびワールドワイドミラーを含めるには、{{ic|--country 'France,Germany,'}} を使用します。[https://bbs.archlinux.org/viewtopic.php?pid=1975404#p1975404]}} |
||
| + | {{man|1|reflector|EXAMPLES}} を参照してください。 |
||
| − | == 自動化 == |
||
| + | {{Note|{{ic|/etc/pacman.d/mirrorlist}} を上書きする例は root 権限で実行する必要があります。作業を進める前にバックアップを作成し、その後結果を確認してください。}} |
||
| − | === Systemd サービス === |
||
| + | == 自動化 == |
||
| − | サービスは、{{ic|/etc/xdg/reflector/reflector.conf}} で指定されたパラメータを使用し Reflector を実行します。このファイルのデフォルトのオプションは、例として示しています。 |
||
| − | |||
| − | たとえば、HTTPS をサポートし、上書き {{ic|/etc/pacman.d/mirrorlist}} する最新の5つのミラーを日本とオーストラリアから選択するには、次のコマンドを使用します。 |
||
| − | |||
| − | {{hc|/etc/xdg/reflector/reflector.conf| |
||
| − | --save /etc/pacman.d/mirrorlist |
||
| − | --country Japan,Australia |
||
| − | --protocol https |
||
| − | --latest 5 |
||
| − | }} |
||
| − | |||
| − | {{ic|reflector.service}} を [[有効化]] すればミラーリストが起動時に更新されます。 |
||
| − | === |
+ | === systemd サービス === |
| + | Reflector には {{ic|reflector.service}} が同梱されており、{{ic|/etc/xdg/reflector/reflector.conf}} に指定されたオプションを使って Reflector を実行します。このファイルにあるデフォルトのオプションは、良い出発点であり例となります。 |
||
| − | バージョン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 編集] することで変更できます。 |
||
| − | + | Reflector を起動時に実行するには {{ic|reflector.service}} を [[有効化]] してください。すぐに実行する場合は、サービスを [[起動]] します。 |
|
| + | {{Note|{{ic|reflector.service}} は [[systemd#ネットワークが稼働した後にサービスを実行する|network-online.target]] を介してネットワーク待機サービスが設定されている必要があります。}} |
||
| − | ミラーリストをスケジュールより先に更新するには、{{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] してください。 |
||
| − | === |
+ | === systemd タイマー === |
| − | [[ |
+ | Reflector は [[systemd/タイマー]]({{ic|reflector.timer}})を提供しており、[[#systemd サービス]] {{ic|reflector.service}} を週に一度起動します。スケジュールは {{ic|reflector.timer}} を [[編集]] することで変更できます。 |
| + | {{ic|reflector.service}} が起動する際のデフォルトオプションを変更するには、[[#systemd サービス]] で説明されているように設定ファイルを編集してください。その後、{{ic|reflector.timer}} を [[起動]] し、[[有効化]] します。 |
||
| − | {{hc|/etc/pacman.d/hooks/mirrorupgrade.hook|<nowiki> |
||
| − | [Trigger] |
||
| − | Operation = Upgrade |
||
| − | Type = Package |
||
| − | Target = pacman-mirrorlist |
||
| + | スケジュールより前にミラーリストを更新したい場合は、{{ic|reflector.service}} を [[起動]] してください。 |
||
| − | [Action] |
||
| − | Description = Updating pacman-mirrorlist with reflector and removing pacnew... |
||
| − | When = PostTransaction |
||
| − | Depends = reflector |
||
| − | Exec = /bin/sh -c 'systemctl start reflector.service; [ -f /etc/pacman.d/mirrorlist.pacnew ] && rm /etc/pacman.d/mirrorlist.pacnew' |
||
| − | </nowiki>}} |
||
| + | === pacman フック === |
||
| − | パラメータは [[#Systemd サービス]] の説明に従って {{ic|/etc/xdg/reflector/reflector.conf}} で設定します。 |
||
| + | {{Pkg|pacman-mirrorlist}} は定期的に更新されるわけではなく、世界のどこかでミラーが追加・削除されたからといって reflector を呼び出すのは適切ではありません。その代わりに [[systemd/タイマー]] のアプローチを利用してください。{{ic|mirrorlist.pacnew}} をまったくインストールしたくない場合は、{{ic|/etc/pacman.conf}} の [[pacman#インストールさせないファイルを設定|NoExtract]] を使用してください。 |
||
| − | これと同様のフックは {{AUR|reflector-mirrorlist-update}} でも提供されています。 |
||
== 参照 == |
== 参照 == |
||
2025年8月23日 (土) 10:20時点における最新版
Reflector は Arch Linux Mirror Status ページから最新のミラーリストを取得して、フィルタリングおよび速度でソートし、/etc/pacman.d/mirrorlist ファイルを上書きする Python スクリプトです。
インストール
使用方法
利用できるコマンドを表示するには、次のコマンドを実行:
# reflector --help
サンプル
reflector(1) § EXAMPLES を参照してください。
自動化
systemd サービス
Reflector には reflector.service が同梱されており、/etc/xdg/reflector/reflector.conf に指定されたオプションを使って Reflector を実行します。このファイルにあるデフォルトのオプションは、良い出発点であり例となります。
Reflector を起動時に実行するには reflector.service を 有効化 してください。すぐに実行する場合は、サービスを 起動 します。
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 を使用してください。