跳转至内容

Reflector

来自 ArchWiki

Reflector 是一个 Python 脚本,它可以从 Arch Linux 镜像状态页面获取最新的镜像列表,筛选出最新同步的镜像,按速度排序,并覆盖写入 /etc/pacman.d/mirrorlist 文件。

安装

安装 reflector 软件包。

或者,可以使用 reflector-rsAUR 软件包作为替代方案。

用法

要查看所有可用选项,请运行以下命令

$ reflector --help
注意 通常不建议按国家进行筛选;因为单个国家的镜像数量有限。网络吞吐量仅在一定程度上由地理距离决定。

示例

参阅 reflector(1) § EXAMPLES

注意 覆盖 /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.servicereflector.timer 是冗余的。如果启用了服务,Reflector 将在每次启动时运行。若要使其仅按定时器原先设计的每周运行一次,请仅启用定时器。服务不需要处于启用 (enabled)状态,定时器才能正常工作。

pacman hook

pacman-mirrorlist 并非定期更新,因为全球某处添加或删除了一个镜像而调用 reflector 并没有太大意义;请改用 #systemd 定时器 方案。如果您完全不想安装 mirrorlist.pacnew,请在 /etc/pacman.conf 中使用 NoExtract

参见

© . This site is unofficial and not affiliated with Arch Linux.

Content is available under GNU Free Documentation License 1.3 or later unless otherwise noted.