「Reflector」の版間の差分
(→Systemd タイマー: 情報を更新) |
(Pacman フックの部分を英語版と同期) |
||
42行目: | 42行目: | ||
== 自動化 == |
== 自動化 == |
||
− | |||
− | === 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 サービス === |
=== Systemd サービス === |
||
85行目: | 65行目: | ||
ミラーリストをスケジュールより先に更新するには、{{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|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 フック === |
||
+ | |||
+ | [[pacman フック]]を作成して {{Pkg|pacman-mirrorlist}} が更新されるたびに {{ic|reflector.service}} を実行して {{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 'systemctl start reflector.service; [ -f /etc/pacman.d/mirrorlist.pacnew ] && rm /etc/pacman.d/mirrorlist.pacnew' |
||
+ | </nowiki>}} |
||
+ | |||
+ | パラメータは [[#Systemd サービス]] の説明に従って {{ic|/etc/xdg/reflector/reflector.conf}} で設定します。 |
||
+ | |||
+ | これと同様のフックは {{AUR|reflector-mirrorlist-update}} でも提供されています。 |
||
== 参照 == |
== 参照 == |
2021年8月25日 (水) 14:48時点における版
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
自動化
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
を 有効化 すればミラーリストが起動時に更新されます。
Systemd タイマー
バージョン2020.8 以降、Reflector は systemd/タイマー (reflector.timer
) を提供しており、 Reflector#Systemd サービス reflector.service
を毎週開始します。スケジュールは reflector.timer
を 編集 することで変更できます。
まず、Reflector#Systemd サービス の説明に従って、設定ファイルを編集します。設定ファイルを更新した後、reflector.timer
を 有効化 してください。
ミラーリストをスケジュールより先に更新するには、reflector.service
を start してください。
Pacman フック
pacman フックを作成して pacman-mirrorlist が更新されるたびに reflector.service
を実行して .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 'systemctl start reflector.service; [ -f /etc/pacman.d/mirrorlist.pacnew ] && rm /etc/pacman.d/mirrorlist.pacnew'
パラメータは #Systemd サービス の説明に従って /etc/xdg/reflector/reflector.conf
で設定します。
これと同様のフックは reflector-mirrorlist-updateAUR でも提供されています。