Reflector
Reflector 是一个 Python 脚本,它可以从 Arch Linux 镜像状态页面获取最新的镜像列表,筛选出最新同步的镜像,按速度排序,并覆盖写入 /etc/pacman.d/mirrorlist 文件。
安装
或者,可以使用 reflector-rsAUR 软件包作为替代方案。
用法
要查看所有可用选项,请运行以下命令
$ reflector --help
示例
/etc/pacman.d/mirrorlist 的示例需要以 root 身份运行。在继续之前请进行备份,并在之后验证结果。自动化
systemd 服务
Reflector 附带了 reflector.service,它使用 /etc/xdg/reflector/reflector.conf 中指定的选项来运行 Reflector。该文件中的默认选项提供了一个良好的起点和示例。
启用 reflector.service 以在启动时运行 Reflector。要立即运行,请启动该服务。
reflector.service 依赖于通过 network-online.target 配置的网络等待服务。systemd timer
Reflector 提供了一个 systemd 定时器 (reflector.timer),每周启动一次 #systemd 服务 reflector.service。可以通过编辑 reflector.timer 来更改计划。
要更改 reflector.service 启动时的默认选项,请按照 #systemd 服务 中所述编辑配置文件。然后,启动并启用 reflector.timer。
要提前刷新镜像列表,请启动 reflector.service。
reflector.service 和 reflector.timer 是冗余的。如果启用了服务,Reflector 将在每次启动时运行。若要使其仅按定时器原先设计的每周运行一次,请仅启用定时器。服务不需要处于启用 (enabled)状态,定时器才能正常工作。pacman hook
pacman-mirrorlist 并非定期更新,因为全球某处添加或删除了一个镜像而调用 reflector 并没有太大意义;请改用 #systemd 定时器 方案。如果您完全不想安装 mirrorlist.pacnew,请在 /etc/pacman.conf 中使用 NoExtract。