「Reflector」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(文字列「http://xyne.archlinux.ca/」を「https://xyne.archlinux.ca/」に置換)
(同期)
5行目: 5行目:
 
[[it:Reflector]]
 
[[it:Reflector]]
 
[[ko:Reflector]]
 
[[ko:Reflector]]
  +
[[pl:Reflector]]
 
[[ru:Reflector]]
 
[[ru:Reflector]]
 
[[zh-hans:Reflector]]
 
[[zh-hans:Reflector]]
15行目: 16行目:
 
== インストール ==
 
== インストール ==
   
[[公式リポジトリ]]から {{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行目:
   
 
=== サンプル ===
 
=== サンプル ===
==== 例 1 ====
 
以下のコマンドは最初の5つのミラーを取り出して、速度でソートし、{{ic|/etc/pacman.d/mirrorlist}} ファイルを上書きします:
 
# reflector --verbose -l 5 --sort rate --save /etc/pacman.d/mirrorlist
 
   
  +
以下のコマンドは同期が一番新しい5つのミラーを取り出して、速度でソートし、{{ic|/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
 
   
  +
# reflector --verbose --latest 5 --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
 
   
  +
以下のコマンドは、最近同期が行われた HTTP または HTTPS ミラー200個を選択して、ダウンロード速度でソートし、{{ic|/etc/pacman.d/mirrorlist}} ファイルを上書きします:
==== Systemd サービス ====
 
  +
  +
# 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
  +
  +
=== Pacman フック ===
  +
  +
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>
 
{{hc|/etc/systemd/system/reflector.service|<nowiki>
48行目: 69行目:
 
[Service]
 
[Service]
 
Type=oneshot
 
Type=oneshot
ExecStart=/usr/bin/reflector --protocol http --latest 30 --number 20 --sort rate --save /etc/pacman.d/mirrorlist
+
ExecStart=/usr/bin/reflector --protocol https --latest 30 --number 20 --sort rate --save /etc/pacman.d/mirrorlist
 
</nowiki>}}
 
</nowiki>}}
   
{{ic|# systemctl start reflector}} を実行すればミラーリストが更新されます。
+
{{ic|reflector.service}} を[[起動]]すればミラーリストが更新されます。
   
 
コンピュータが起動するたびにミラーリストを更新するには以下のサービスを有効にしてください。
 
コンピュータが起動するたびにミラーリストを更新するには以下のサービスを有効にしてください。
58行目: 79行目:
 
[Unit]
 
[Unit]
 
Description=Pacman mirrorlist update
 
Description=Pacman mirrorlist update
Requires=network.target
+
Requires=network-online.target
After=network.target
+
After=network-online.target
   
 
[Service]
 
[Service]
 
Type=oneshot
 
Type=oneshot
ExecStart=/usr/bin/reflector --protocol http --latest 30 --number 20 --sort rate --save /etc/pacman.d/mirrorlist
+
ExecStart=/usr/bin/reflector --protocol https --latest 30 --number 20 --sort rate --save /etc/pacman.d/mirrorlist
   
 
[Install]
 
[Install]
RequiredBy=network.target
+
RequiredBy=multi-user.target
 
</nowiki>}}
 
</nowiki>}}
   
 
{{ic|network.target}} がネットワーク状態を正確に反映するように [https://www.freedesktop.org/wiki/Software/systemd/NetworkTarget/ 適当なサービスを有効化] してください。
 
{{ic|network.target}} がネットワーク状態を正確に反映するように [https://www.freedesktop.org/wiki/Software/systemd/NetworkTarget/ 適当なサービスを有効化] してください。
   
==== Systemd タイマー ====
+
=== Systemd タイマー ===
   
 
{{ic|reflector.service}} を一週間ごとに実行したい場合:
 
{{ic|reflector.service}} を一週間ごとに実行したい場合:
81行目: 102行目:
 
[Timer]
 
[Timer]
 
OnCalendar=weekly
 
OnCalendar=weekly
  +
RandomizedDelaySec=12h
AccuracySec=12h
 
 
Persistent=true
 
Persistent=true
   
88行目: 109行目:
 
</nowiki>}}
 
</nowiki>}}
   
  +
作成したら {{ic|reflector.timer}} を[[起動]]してください。
タイマーを起動:
 
  +
  +
==== AUR パッケージ ====
  +
  +
{{AUR|reflector-timer}} パッケージを使って ''reflector'' を毎週実行することもできます。
  +
  +
デフォルト設定:
  +
{{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>}}
   
  +
インストールしたら {{ic|reflector.timer}} を[[有効化]]してください。
# systemctl enable reflector.timer
 

2018年2月14日 (水) 21:49時点における版

関連記事

ReflectorMirrorStatus ページから最新のミラーリストを取得して、ミラーを速度でソートし、/etc/pacman.d/mirrorlist ファイルを上書きするスクリプトです。

インストール

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

使用方法

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

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

# reflector --help

サンプル

以下のコマンドは同期が一番新しい5つのミラーを取り出して、速度でソートし、/etc/pacman.d/mirrorlist ファイルを上書きします:

# reflector --verbose --latest 5 --sort rate --save /etc/pacman.d/mirrorlist

以下のコマンドは、最近同期が行われた HTTP または HTTPS ミラー200個を選択して、ダウンロード速度でソートし、/etc/pacman.d/mirrorlist ファイルを上書きします:

# reflector --latest 200 --protocol http --protocol https --sort rate --save /etc/pacman.d/mirrorlist

以下のコマンドはアメリカに存在する、12時間以内に同期が行われた HTTPS ミラーを選択して、ダウンロード速度でソートし、/etc/pacman.d/mirrorlist ファイルを上書きします:

# reflector --country 'United States' --age 12 --protocol https --sort rate --save /etc/pacman.d/mirrorlist

Pacman フック

pacman フックを作成して pacman-mirrorlist が更新されるたびに reflector を実行して .pacnew ファイルを削除するように設定できます:

/etc/pacman.d/hooks/mirrorupgrade.hook
[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"

reflector の引数は適宜書き換えてください。

pacman フックについて詳しくは Pacman#フックを参照。

Systemd サービス

/etc/systemd/system/reflector.service
[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

reflector.service起動すればミラーリストが更新されます。

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

/etc/systemd/system/reflector.service
[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

network.target がネットワーク状態を正確に反映するように 適当なサービスを有効化 してください。

Systemd タイマー

reflector.service を一週間ごとに実行したい場合:

/etc/systemd/system/reflector.timer
[Unit]
Description=Run reflector weekly

[Timer]
OnCalendar=weekly
RandomizedDelaySec=12h
Persistent=true

[Install]
WantedBy=timers.target

作成したら reflector.timer起動してください。

AUR パッケージ

reflector-timerAUR パッケージを使って reflector を毎週実行することもできます。

デフォルト設定:

/usr/share/reflector-timer/reflector.conf
AGE=6
COUNTRY=Germany
LATEST=30
NUMBER=20
SORT=rate

設定を上書きするには /etc/conf.d/reflector.conf を編集:

/etc/conf.d/reflector.conf
COUNTRY=US

インストールしたら reflector.timer有効化してください。