# Reflector (简体中文)

Reflector 是一个脚本程序，从镜像状态页面获取镜像列表，过滤出还在更新的页面并根据速度排列，然后覆盖文件`/etc/pacman.d/mirrorlist`。

## 安装

安装软件包 reflector。

## 用法

警告:

- 在下面的例子中, `/etc/pacman.d/mirrorlist` 会被覆盖。在运行之前请先备份。
- 同步或更新 Pacman前请确保 `/etc/pacman.d/mirrorlist`不包含任何奇怪的内容.

To see all of the available commands, run the following command:

    # reflector --help

### 示例

通过下载速度进行排序，筛选前五位镜像并写入到`/etc/pacman.d/mirrorlist`:

    # reflector --verbose -l 5 --sort rate --save /etc/pacman.d/mirrorlist

Verbosely rate the 200 most recently synchronized HTTP servers, sort them by download rate, and overwrite the file `/etc/pacman.d/mirrorlist`:

    # reflector --verbose -l 200 -p http --sort rate --save /etc/pacman.d/mirrorlist

Verbosely rate the 200 most recently synchronized HTTPS servers located in the US, sort them by download rate, and overwrite the file `/etc/pacman.d/mirrorlist`:

    # reflector --verbose --country 'United States' -l 200 -p https --sort rate --save /etc/pacman.d/mirrorlist

### Systemd Service

    /etc/systemd/system/reflector.service

    [Unit]
    Description=Pacman mirrorlist update

    [Service]
    Type=oneshot
    ExecStart=/usr/bin/reflector --protocol https --latest 30 --number 20 --sort rate --save /etc/pacman.d/mirrorlist

Then starting `reflector.service` will update your mirrorlist.

To update your mirrorlist every time your computer boots you can enable the following service definition.

    /etc/systemd/system/reflector.service

    [Unit]
    Description=Pacman mirrorlist update
    Requires=network-online.target
    After=network-online.target

    [Service]
    Type=oneshot
    ExecStart=/usr/bin/reflector --protocol https --latest 30 --number 20 --sort rate --save /etc/pacman.d/mirrorlist

    [Install]
    RequiredBy=multi-user.target

Make sure you activate the appropriate services so that `network.target` really reflects your network status.

### Systemd 定时

如果你想每周一次运行 `reflector.service`:

    /etc/systemd/system/reflector.timer

    [Unit]
    Description=Run reflector weekly

    [Timer]
    OnCalendar=weekly
    RandomizedDelaySec=12h
    Persistent=true

    [Install]
    WantedBy=timers.target

然后仅需 启动 `reflector.timer`.

#### AUR

Install the reflector-timerAUR package to run reflector daily, or install the reflector-timer-weeklyAUR to run it weekly.

##### reflector-timer

The default configuration is:

    /usr/share/reflector-timer/reflector.conf

    AGE=6
    COUNTRY=Germany
    LATEST=30
    NUMBER=20
    SORT=rate

To override this configuration, edit `/etc/conf.d/reflector.conf`:

    /etc/conf.d/reflector.conf

    COUNTRY=US

Be sure to enable `reflector.timer`.

##### reflector-timer-weekly

The default configuration is:

    /etc/reflector.conf

    --save /etc/pacman.d/mirrorlist
    --country China
    --sort rate

Each line (except that begins with '#') should be valid `reflector` option.

Be sure to enable `reflector.timer`.

Category:

- Package management (简体中文)