Reflector
Reflector 是一个 Python 脚本,它可以从 Arch Linux 镜像状态页面检索最新的镜像列表,过滤最新的镜像,按速度排序,并覆盖文件 /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 服务
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 计时器
Reflector 提供一个 systemd 计时器 (reflector.timer
),它每周启动 #systemd 服务 reflector.service
。 可以通过编辑 reflector.timer
来更改计划。
首先按照 #systemd 服务 中所述编辑配置文件。 更新配置文件后,启动并启用 reflector.timer
。
要在计划之前刷新镜像列表,请启动 reflector.service
。
pacman 钩子
pacman-mirrorlist 不会定期更新,仅因为在全球的某些地方添加或删除了某些镜像而调用 reflector 是不相关的。 请改用基于计时器的自动化。 如果您根本不希望安装 mirrorlist.pacnew
,请在 /etc/pacman.conf
中使用 NoExtract。