「Reflector」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(文字列「http://xyne.archlinux.ca/」を「https://xyne.archlinux.ca/」に置換)
(序文を修正)
 
(5人の利用者による、間の15版が非表示)
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}}
[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 スクリプトです。
   
 
== インストール ==
 
== インストール ==
   
[[公式リポジトリ]]から {{Pkg|reflector}} を[[インストール]]してください。
+
{{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
 
   
==== 2 ====
+
== 自動化 ==
次のコマンドは、最近同期が行われた HTTP サーバー200個を細かく評価して、ダウンロード速度でソートし、{{ic|/etc/pacman.d/mirrorlist}} ファイルを上書きします:
 
# reflector --verbose -l 200 -p http --sort rate --save /etc/pacman.d/mirrorlist
 
   
==== 3 ====
+
=== 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|# systemctl start reflector}} を実行すればミラーリストが更新されます。
+
{{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}} がネットワーク状態を正確に反映するように [https://www.freedesktop.org/wiki/Software/systemd/NetworkTarget/ 適当なサービスを有効化] してください。
 
   
==== Systemd タイマー ====
+
=== 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時点における最新版

関連記事

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

インストール

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

使用方法

警告:
  • 最初に /etc/pacman.d/mirrorlist ファイルをバックアップしておいてください。
  • Pacman で同期とアップデートをする前に /etc/pacman.d/mirrorlist には信頼できないエントリが含まれていないようにしてください。

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

# reflector --help

サンプル

reflector(1) § EXAMPLES を参照してください。サンプルは /etc/pacman.d/mirrorlist を上書きします。root として実行する必要があります。​

ヒント: ワールドワイドサーバーを含めるには、country フラグに空の文字列を渡します。例えば、フランス、ドイツおよびワールドワイドミラーを含めるには、--country 'France,Germany,' を使用します。[1]

自動化

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有効化 すればミラーリストが起動時に更新されます。

ノート: reflector.service は、network-online.target を介して設定されるネットワーク待機サービスに依存します。

Systemd タイマー

バージョン2020.8 以降、Reflector は systemd/タイマー (reflector.timer) を提供しており、 Reflector#Systemd サービス reflector.service を毎週開始します。スケジュールは reflector.timer編集 することで変更できます。

まず、Reflector#Systemd サービス の説明に従って、設定ファイルを編集します。設定ファイルを更新した後、reflector.timer有効化 してください。

ミラーリストをスケジュールより先に更新するには、reflector.servicestart してください。

Pacman フック

pacman-mirrorlist は定期的に更新されず、世界の一部のミラーが追加または削除されたという理由だけで reflector を呼び出します。代わりにタイマーベースの自動化を使いましょう。もし mirrorlist.pacnew を全くインストールしたくない場合は、pacman.confNoExtract を使って下さい。

参照