User:VINDOBONA POETICA/Reflector (文言文)
夫Reflector 者,一腳本程式也,可得至新之鏡像列表於 MirrorStatus 頁面,濾其至新者,次以速而覆 /etc/pacman.d/mirrorlist
文件。
所裝
法
警告:
/etc/pacman.d/mirrorlist
將為覆書於下例。行前當先行備份。- 同步或新 Pacman 前,保無子少信之條目生於
/etc/pacman.d/mirrorlist
。
行下令以俱覽可行之令:
# reflector --help
例
次近同步之五鏡像以下載速,而覆 /etc/pacman.d/mirrorlist
文件:
# reflector --verbose --latest 5 --sort rate --save /etc/pacman.d/mirrorlist
擇同步之近200 HTTP 或 HTTPS 鏡像,次以下載速,而覆 /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 France --country Germany --age 12 --protocol https --sort rate --save /etc/pacman.d/mirrorlist
自動化
Pacman hook
子可立一 pacman hook 行 reflector ,每刪所立之 .pacnew 文件於 pacman-mirrorlist 升級時。
/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以子所須之參數 。
Systemd service
下例,行 reflector 後乎服務單元網路連線者也 :
/etc/systemd/system/reflector.service
[Unit] Description=Pacman mirrorlist update Wants=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
啟動 reflector.service
則新鏡像之表。若欲每新鏡像之表於開機時,當 啟用 此服務。
註記: 欲知其詳,見 Systemd#Running services after the network is up 。
Systemd timer
若欲週行 reflector.service
,當立一所關之 .timer 。如下例:
/etc/systemd/system/reflector.timer
[Unit] Description=Run reflector weekly [Timer] OnCalendar=Mon *-*-* 7:00:00 RandomizedDelaySec=15h Persistent=true [Install] WantedBy=timers.target
而後徑行 啟動 reflector.timer
。