コンテンツにスキップ

「Reflector」の版間の差分

提供: ArchWiki
削除された内容 追加された内容
文字列「http://www.freedesktop.org/」を「https://www.freedesktop.org/」に置換
Kgx (トーク | 投稿記録)
自動化: 同期
 
(6人の利用者による、間の18版が非表示)
5行目: 5行目:
[[it:Reflector]]
[[it:Reflector]]
[[ko:Reflector]]
[[ko:Reflector]]
[[pl:Reflector]]
[[ru:Reflector]]
[[ru:Reflector]]
[[zh-hans:Reflector]]
[[zh-hans:Reflector]]
11行目: 12行目:
{{Related|Pacman}}
{{Related|Pacman}}
{{Related articles end}}
{{Related articles end}}
[http://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 スクリプトです。


== インストール ==
== インストール ==


[[公式リポジトリ]]から {{Pkg|reflector}} を[[インストール]]してください。
{{Pkg|reflector}} パッケージを[[インストール]]してください。


== 使用方法 ==
== 使用方法 ==

{{Warning|
* 最初に {{ic|/etc/pacman.d/mirrorlist}} ファイルをバックアップしておいてください:
# cp -vf /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.backup
* [[Pacman]] で同期とアップデートをする前に {{ic|/etc/pacman.d/mirrorlist}} には信頼できないエントリが含まれていないようにしてください。}}


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

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


=== サンプル ===
=== サンプル ===
==== 例 1 ====
以下のコマンドは最初の5つのミラーを取り出して、速度でソートし、{{ic|/etc/pacman.d/mirrorlist}} ファイルを上書きします:
# reflector --verbose -l 5 --sort rate --save /etc/pacman.d/mirrorlist

==== 例 2 ====
次のコマンドは、最近同期が行われた HTTP サーバー200個を細かく評価して、ダウンロード速度でソートし、{{ic|/etc/pacman.d/mirrorlist}} ファイルを上書きします:
# reflector --verbose -l 200 -p http --sort rate --save /etc/pacman.d/mirrorlist

==== 例 3 ====
次のコマンドはアメリカに存在する、最近同期が行われた HTTP サーバー200個を細かく評価して、、ダウンロード速度でソートし、{{ic|/etc/pacman.d/mirrorlist}} ファイルを上書きします:
# reflector --verbose --country 'United States' -l 200 -p http --sort rate --save /etc/pacman.d/mirrorlist

==== Systemd サービス ====


{{man|1|reflector|EXAMPLES}} を参照してください。
{{hc|/etc/systemd/system/reflector.service|<nowiki>
[Unit]
Description=Pacman mirrorlist update


{{Note|{{ic|/etc/pacman.d/mirrorlist}} を上書きする例は root 権限で実行する必要があります。作業を進める前にバックアップを作成し、その後結果を確認してください。}}
[Service]
Type=oneshot
ExecStart=/usr/bin/reflector --protocol http --latest 30 --number 20 --sort rate --save /etc/pacman.d/mirrorlist
</nowiki>}}


== 自動化 ==
{{ic|# systemctl start reflector}} を実行すればミラーリストが更新されます。


=== systemd サービス ===
コンピュータが起動するたびにミラーリストを更新するに以下のサービス有効にしてください。


Reflector には {{ic|reflector.service}} が同梱されており、{{ic|/etc/xdg/reflector/reflector.conf}} に指定されたオプションを使って Reflector を実行します。このファイルにあるデフォルトのオプションは、良い出発点であり例となります。
{{hc|/etc/systemd/system/reflector.service|<nowiki>
[Unit]
Description=Pacman mirrorlist update
Requires=network.target
After=network.target


Reflector を起動時に実行するには {{ic|reflector.service}} を [[有効化]] してください。すぐに実行する場合は、サービスを [[起動]] します。
[Service]
Type=oneshot
ExecStart=/usr/bin/reflector --protocol http --latest 30 --number 20 --sort rate --save /etc/pacman.d/mirrorlist


{{Note|{{ic|reflector.service}} は [[systemd#ネットワークが稼働した後にサービスを実行する|network-online.target]] を介してネットワーク待機サービスが設定されている必要があります。}}
[Install]
RequiredBy=network.target
</nowiki>}}


=== systemd タイマー ===
{{ic|network.target}} がネットワーク状態を正確に反映するように [https://www.freedesktop.org/wiki/Software/systemd/NetworkTarget/ 適当なサービスを有効化] してください。


Reflector は [[systemd/タイマー]]({{ic|reflector.timer}})を提供しており、[[#systemd サービス]] {{ic|reflector.service}} を週に一度起動します。スケジュールは {{ic|reflector.timer}} を [[編集]] することで変更できます。
==== Systemd タイマー ====


{{ic|reflector.service}} が起動する際のデフォルトオプションを変更するには、[[#systemd サービス]] で説明されているように設定ファイルを編集してください。その後、{{ic|reflector.timer}} を [[起動]] し、[[有効化]] します。
{{ic|reflector.service}} を一週間ごとに実行したい場合:


スケジュールより前にミラーリストを更新したい場合、{{ic|reflector.service}} [[起動]] してください。
{{hc|/etc/systemd/system/reflector.timer|<nowiki>
[Unit]
Description=Run reflector weekly


=== pacman フック ===
[Timer]
OnCalendar=weekly
AccuracySec=12h
Persistent=true


{{Pkg|pacman-mirrorlist}} は定期的に更新されるわけではなく、世界のどこかでミラーが追加・削除されたからといって reflector を呼び出すのは適切ではありません。その代わりに [[systemd/タイマー]] のアプローチを利用してください。{{ic|mirrorlist.pacnew}} をまったくインストールしたくない場合は、{{ic|/etc/pacman.conf}} の [[pacman#インストールさせないファイルを設定|NoExtract]] を使用してください。
[Install]
WantedBy=timers.target
</nowiki>}}


== 参照 ==
タイマーを起動:


* [https://bbs.archlinux.org/viewtopic.php?id=115714 Reflector Arch Linux フォーラムのスレッド]
# systemctl enable reflector.timer
* [https://xyne.archlinux.ca/projects/reflector/ 変更ログを含むアップストリームプロジェクトページ]

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 を使用してください。

参照