Reflector

出自 ArchWiki

Reflector 是一个 Python 脚本,它可以从 Arch Linux 镜像状态页面检索最新的镜像列表,过滤最新的镜像,按速度排序,并覆盖文件 /etc/pacman.d/mirrorlist

安装

安装 reflector 软件包。

用法

警告
  • 在以下示例中,/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

参见