「Reflector」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(→‎Systemd サービス: 呪法を更新)
(Kgx (トーク) による版 21214 を取り消し)
タグ: 取り消し
65行目: 65行目:
 
=== Systemd サービス ===
 
=== Systemd サービス ===
   
  +
{{hc|/etc/systemd/system/reflector.service|<nowiki>
サービスは、{{ic|/etc/xdg/reflector/reflector.conf}} で指定されたパラメータを使用し Reflector を実行します。このファイルのデフォルトのオプションは、例として設定されています。
 
  +
[Unit]
  +
Description=Pacman mirrorlist update
   
  +
[Service]
たとえば、HTTPS をサポートし、上書き {{ic|/etc/pacman.d/mirrorlist}} する最新の5つのミラーを日本とオーストラリアから選択するには、次のコマンドを使用します。
 
  +
Type=oneshot
  +
ExecStart=/usr/bin/reflector --protocol https --latest 30 --number 20 --sort rate --save /etc/pacman.d/mirrorlist
  +
</nowiki>}}
   
  +
{{ic|reflector.service}} を[[起動]]すればミラーリストが更新されます。
{{hc|/etc/xdg/reflector/reflector.conf|
 
--save /etc/pacman.d/mirrorlist
 
--country Japan,Australia
 
--protocol https
 
--latest 5
 
}}
 
   
  +
コンピュータが起動するたびにミラーリストを更新するには以下のサービスを有効にしてください。
{{ic|reflector.service}} を [[有効化]] すればミラーリストが起動時に更新されます。
 
  +
  +
{{hc|/etc/systemd/system/reflector.service|<nowiki>
  +
[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
  +
</nowiki>}}
  +
  +
{{ic|network.target}} がネットワーク状態を正確に反映するように [https://www.freedesktop.org/wiki/Software/systemd/NetworkTarget/ 適当なサービスを有効化] してください。
   
 
=== Systemd タイマー ===
 
=== Systemd タイマー ===

2021年8月9日 (月) 21:56時点における版

関連記事

ReflectorMirrorStatus ページから最新のミラーリストを取得して、ミラーを速度でソートし、/etc/pacman.d/mirrorlist ファイルを上書きするスクリプトです。

インストール

reflector パッケージをインストールしてください。

使用方法

警告:
  • 最初に /etc/pacman.d/mirrorlist ファイルをバックアップしておいてください。
  • Pacman で同期とアップデートをする前に /etc/pacman.d/mirrorlist には信頼できないエントリが含まれていないようにしてください。

利用できるコマンドを表示するには、次のコマンドを実行:

# reflector --help

サンプル

以下のコマンドは同期が一番新しい5つのミラーを取り出して、速度でソートし、/etc/pacman.d/mirrorlist ファイルを上書きします:

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

以下のコマンドは、最近同期が行われた HTTP または HTTPS ミラー200個を選択して、ダウンロード速度でソートし、/etc/pacman.d/mirrorlist ファイルを上書きします:

# reflector --latest 200 --protocol http --protocol https --sort rate --save /etc/pacman.d/mirrorlist

以下のコマンドはアメリカに存在する、12時間以内に同期が行われた HTTPS ミラーを選択して、ダウンロード速度でソートし、/etc/pacman.d/mirrorlist ファイルを上書きします:

# reflector --country 'United States' --age 12 --protocol https --sort rate --save /etc/pacman.d/mirrorlist

自動化

Pacman フック

pacman フックを作成して pacman-mirrorlist が更新されるたびに reflector を実行して .pacnew ファイルを削除するように設定できます:

/etc/pacman.d/hooks/mirrorupgrade.hook
[Trigger]
Operation = Upgrade
Type = Package
Target = pacman-mirrorlist

[Action]
Description = Updating pacman-mirrorlist with reflector and removing pacnew...
When = PostTransaction
Depends = reflector
Exec = /bin/sh -c "reflector --country 'United States' --latest 200 --age 24 --sort rate --save /etc/pacman.d/mirrorlist;  rm -f /etc/pacman.d/mirrorlist.pacnew"

reflector の引数は適宜書き換えてください。

pacman フックについて詳しくは Pacman#フックを参照。

Systemd サービス

/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

reflector.service起動すればミラーリストが更新されます。

コンピュータが起動するたびにミラーリストを更新するには以下のサービスを有効にしてください。

/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

network.target がネットワーク状態を正確に反映するように 適当なサービスを有効化 してください。

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起動してください。

参照