Reflector - Arch Linux 中文维基

跳至內容

# Reflector

出自 Arch Linux 中文维基

Reflector 是一個 Python 腳本；它可以從 Arch Linux Mirror Status 頁面獲取最新的鏡像列表，然後篩選出最新的鏡像並按速度排序，最後將結果寫入到 `/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 選項傳遞一個空的字符串。舉個例子,要想包含法國,德國和全球鏡像,應該使用 `--country 'France,Germany,'`。[1]

## 自動處理

### systemd service

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 timer

Reflector 提供一個 systemd 定時器（`reflector.timer`），這樣每周都會調用 `reflector.service` 服務。可以編輯 `reflector.timer` 來調整時間表。

首先像服務一節那樣編輯好配置文件。配置文件更新後，啟用或啟動 `reflector.timer` 定時器。

要提前刷新鏡像列表，啟動 `reflector.service` 服務。

### pacman hook

pacman-mirrorlist包 不定期更新,只是因為一些地區添加或移除鏡像調用 Reflector 與此無關。改為使用基於時間的自動化。如果你完全不想安裝 `mirrorlist.pacnew`,在 `pacman.conf` 使用 `NoExtract`。

## 參考

- Arch Linux 論壇上的 Reflector 帖子
- 包含變更日誌的上游項目頁面

分類：​

- 包管理

Reflector
新增話題