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
。