「Reflector」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(Pacman フックの部分を英語版と同期)
(→‎自動化: 同期)
 
(2人の利用者による、間の7版が非表示)
12行目: 12行目:
 
{{Related|Pacman}}
 
{{Related|Pacman}}
 
{{Related articles end}}
 
{{Related articles end}}
[https://xyne.archlinux.ca/projects/reflector/ Reflector] は [https://www.archlinux.org/mirrors/status/ MirrorStatus] ページから最新のミラーリストを取得して、ミラーを速度でソートし、{{ic|/etc/pacman.d/mirrorlist}} ファイルを上書きするスクリプトです。
+
[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 サービス ===
+
=== 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#Systemd サービス]] の説明従って、設定ファイルを編集しま。設定ファイルを更新した後、{{ic|reflector.timer}} を [[有効化]] してください。
+
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] してください。
 
   
=== Pacman フック ===
+
=== systemd タイマー ===
   
[[pacman フック]]を作成して {{Pkg|pacman-mirrorlist}} が更新されるたびに {{ic|reflector.service}} を実行 {{ic|.pacnew}} ファイル削除するように設定できます:
+
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時点における最新版

関連記事

ReflectorArch Linux Mirror Status ページから最新のミラーリストを取得して、フィルタリングおよび速度でソートし、/etc/pacman.d/mirrorlist ファイルを上書きする Python スクリプトです。

インストール

reflector パッケージをインストールしてください。

使用方法

利用できるコマンドを表示するには、次のコマンドを実行:

# reflector --help
ノート: 通常、国ごとにミラーを絞り込むのは得策ではありません。ひとつの国に存在するミラーの数には限りがありますし、ネットワークの通信速度は地理的な距離だけで決まるものではないからです。

サンプル

reflector(1) § EXAMPLES を参照してください。

ノート: /etc/pacman.d/mirrorlist を上書きする例は root 権限で実行する必要があります。作業を進める前にバックアップを作成し、その後結果を確認してください。

自動化

systemd サービス

Reflector には reflector.service が同梱されており、/etc/xdg/reflector/reflector.conf に指定されたオプションを使って Reflector を実行します。このファイルにあるデフォルトのオプションは、良い出発点であり例となります。

Reflector を起動時に実行するには reflector.service有効化 してください。すぐに実行する場合は、サービスを 起動 します。

ノート: reflector.servicenetwork-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.confNoExtract を使用してください。

参照