「Reflector」の版間の差分
(→Systemd サービス: 呪法を更新) |
タグ: 取り消し |
||
65行目: | 65行目: | ||
=== Systemd サービス === |
=== Systemd サービス === |
||
+ | {{hc|/etc/systemd/system/reflector.service|<nowiki> |
||
− | サービスは、{{ic|/etc/xdg/reflector/reflector.conf}} で指定されたパラメータを使用し Reflector を実行します。このファイルのデフォルトのオプションは、例として設定されています。 |
||
+ | [Unit] |
||
+ | Description=Pacman mirrorlist update |
||
+ | [Service] |
||
− | たとえば、HTTPS をサポートし、上書き {{ic|/etc/pacman.d/mirrorlist}} する最新の5つのミラーを日本とオーストラリアから選択するには、次のコマンドを使用します。 |
||
+ | Type=oneshot |
||
+ | ExecStart=/usr/bin/reflector --protocol https --latest 30 --number 20 --sort rate --save /etc/pacman.d/mirrorlist |
||
+ | </nowiki>}} |
||
+ | {{ic|reflector.service}} を[[起動]]すればミラーリストが更新されます。 |
||
− | {{hc|/etc/xdg/reflector/reflector.conf| |
||
− | --save /etc/pacman.d/mirrorlist |
||
− | --country Japan,Australia |
||
− | --protocol https |
||
− | --latest 5 |
||
− | }} |
||
+ | コンピュータが起動するたびにミラーリストを更新するには以下のサービスを有効にしてください。 |
||
− | {{ic|reflector.service}} を [[有効化]] すればミラーリストが起動時に更新されます。 |
||
+ | |||
+ | {{hc|/etc/systemd/system/reflector.service|<nowiki> |
||
+ | [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 |
||
+ | </nowiki>}} |
||
+ | |||
+ | {{ic|network.target}} がネットワーク状態を正確に反映するように [https://www.freedesktop.org/wiki/Software/systemd/NetworkTarget/ 適当なサービスを有効化] してください。 |
||
=== Systemd タイマー === |
=== Systemd タイマー === |
2021年8月9日 (月) 21:56時点における版
Reflector は MirrorStatus ページから最新のミラーリストを取得して、ミラーを速度でソートし、/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
を起動してください。