Reflector
Reflector 是一個 Python 腳本;它可以從 Arch Linux Mirror Status 頁面獲取最新的鏡像列表,然後篩選出最新的鏡像並按速度排序,最後將結果寫入到 /etc/pacman.d/mirrorlist
文件。
安裝[編輯 | 編輯原始碼]
用法[編輯 | 編輯原始碼]
- 在下面的例子中,會覆蓋
/etc/pacman.d/mirrorlist
文件。進行操作前應該進行備份。 - 在同步或更新 pacman 前,需要確保
/etc/pacman.d/mirrorlist
文件沒有包含你不信任的鏡像。
要查看所有可用選項,運行以下命令:
$ reflector --help
示例[編輯 | 編輯原始碼]
請見 reflector(1) § EXAMPLES。覆蓋 /etc/pacman.d/mirrorlist
的示例需要以 root 用户運行。
--country 'France,Germany,'
。[1]自動處理[編輯 | 編輯原始碼]
systemd service[編輯 | 編輯原始碼]
Reflector 附帶一個 reflector.service
。這個服務會用 /etc/xdg/reflector/reflector.conf
中指定的參數運行 Reflector。此文件中的默認選項是一個很好的起點和示例。
例如,從法國和德國的鏡像中篩選出 5 個最新的並且支持 HTTPS 的鏡像,然後將結果覆寫到 /etc/pacman.d/mirrorlist
文件內;使用:
/etc/xdg/reflector/reflector.conf
--save /etc/pacman.d/mirrorlist --country France,Germany --protocol https --latest 5
啟用 reflector.service
服務可以在引導時運行 Reflector 腳本。要立即運行,啟動該服務。
reflector.service
依賴於一個通過 network-online.target 配置的網絡等待服務。systemd timer[編輯 | 編輯原始碼]
Reflector 提供一個 systemd timer (reflector.timer
) 定時器,這樣每周都會調用 reflector.service
服務。可以編輯 reflector.timer
來調整時間表。
首先像服務一節那樣編輯好配置文件。配置文件更新後,啟用或啟動 reflector.timer
定時器。
要提前刷新鏡像列表,啟動 reflector.service
服務。
pacman hook[編輯 | 編輯原始碼]
pacman-mirrorlist包 不定期更新,只是因為一些地區添加或移除鏡像調用 Reflector 與此無關。改為使用基於時間的自動化。如果你完全不想安裝 mirrorlist.pacnew
,在 pacman.conf
使用 NoExtract
。