Ghostmirror
GhostMirror は最新のミラーからミラーリストを生成し、ローカルミラーと比較して、それらが古い、同一、または現在使用中のローカルミラーより更新されているかを示すことができます。
ping とダウンロード方法を使用してスピードテストを実行することができます。
機能しないミラーを分析して潜在的な問題を特定することもできます。この機能は特にミラー保守者にとって役立ちます。
systemd サービスとしても機能し、ミラーを再チェックする必要がある時を自動で判断します。
Reflector との主な違いは、Reflector がミラーリストの状態を使用して各ミラーの状態をチェックし、特に lastsync を使用して速度を測定することです。
Ghostmirror は lastsync を信頼しておらず、ミラーデータベースをダウンロードして比較し、ミラーの実際の状態を示します。
速度に関しては、ping に加えて、Ghostmirror はパッケージをダウンロードしてミラーの実際の速度を検出します。その結果はより正確です。
インストール
ghostmirrorAUR パッケージを インストール します。
使用方法
利用可能なオプションをすべて確認するには、以下のコマンドを実行します:
$ ghostmirror --help
最良のミラー
既に有効だと考えているミラーが多数含まれているミラーリストを持っている場合、このステップをスキップできます。
私の経験から、良い数は20以上です。1から100以上のミラーを自由に持つことができます。
最初に確実に行いたいことの一つは、リストに含める信頼できるミラーを探すことです。
この目標を達成するためには、いくつかのオプションが必要です。
-Po
進行状況を表示し、カラフルなテーブルを表示します。
-c
国を選択し、良いミラーを見つけるために自国と隣国内で探すことをお勧めします。
ミラーを追加するほど検索は遅くなる可能性がありますが、この操作は定期的に行う必要はありません。これは利用可能な無数のミラーを初めてふるいにかけるだけです。
例えばイタリア、ドイツ、フランス
-l
新しいミラーリストを保存するパス。
-L
リスト内の出力ミラーの最大数。
-S
ソートモード。エラーミラーを削除する必要があり、このために最初のソートモードとして state を追加し、その後 outofdate を追加すると、このモードでは最初にミラーシンクを表示し、さらに morerecent を追加して同期が途切れないようにし、最後に ping を追加して最も近いものを優先してみます。
$ ghostmirror -Po -c Italy,Germany,France -l ./mirrorlist.new -L 30 -S state,outofdate,morerecent,ping
推定フィールドはスピードテストを行わなければ最適な値を提供しませんが、安定したミラーを見つけるためには必要ありません。
操作が特に遅い場合は、-d
を使用して同時ダウンロード数を増やすことができます。
ミラーのソート
良いミラーリストを持っていれば、定期的にチェックを行い、使用パターンに基づいて最良のミラーを継続して使用するためにリストを再編成することができます。
前のコマンドの -Pol
オプションを保持しましょう。
-mu
ミラーリストのパスを設定し、コメントされていないミラーのみを使用します。
-s
ミラーのスピードテストを適用します。
私たちはソート方法を変更する必要があります。以前は最も近いミラーを探していましたが、今回は最も安定していて速いものを見つけることに焦点を当てます。
$ ghostmirror -Po -mu ./mirrorlist.new -l ./mirrorlist.new -s light -S state,outofdate,morerecent,extimated,speed
今、pacman に変更を適用するためにコピーすることができます。
# cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.bak # cp ./mirrorlist.new /etc/pacman.d/mirrorlist
自動化
以前に「ミラーのソート」として参照したプロセスは、systemd タイマーを使用して自動化することができます。具体的には、linger
機能を自動化に使用します。
何も心配する必要はありません。linger は設定ファイルとともに自動的に有効になります。適切なコマンドを実行するだけです。
準備
新しいミラーリストの場所のために、root 権限なしでユーザーが編集できる場所にディレクトリを手動で作成する必要があります。
$ mkdir ~/.config/ghostmirror
pacman に保存したミラーリストの場所を知らせます。
/etc/pacman.conf ファイルを編集し、この行を探して置き換えます。 <username> をあなたのユーザー名に変更してください。
[core] Include = /home/<username>/.config/ghostmirror/mirrorlist [extra] Include = /home/<username>/.config/ghostmirror/mirrorlist
アクティブ化
~/.config/ghostmirror
にミラーリストを作成し、「最良のミラー」モードで開始するか、/etc/pacman.d/mirrorlist
から単純にコピーします。
実行するコマンドは -D
を使用して linger を有効にし(すでに有効でない場合)、新しいミラーリストを作成し、タイマーを開始し、その後の自動ミラーチェックのコマンドを使用します。
$ ghostmirror -DPo -mul ~/.config/ghostmirror/mirrorlist ~/.config/ghostmirror/mirrorlist -s light -S state,outofdate,morerecent,extimated,speed
デフォルトでは、推定時間の最初の要素を使用してサービスが再び実行されるタイミングを決定します。
-t hh:mm:ss
形式で時間を追加することができます。デフォルトは 00:00:00
。
推定時間ではなく一定期間でミラーをリフレッシュしたい場合は、-f
を使用して固定日付を使用できます。
これらのパラメータを使用する前に、次のコマンドで値が正しいか確認してください。
$ systemd-analyze calendar <date to check>
Systemd
実行中のタイマーを確認できます
$ systemctl --user list-timers
ミラーリストの強制リフレッシュ
$ systemctl --user start ghostmirror.service
アナライザー
ミラーを分析するには、-i オプションを追加して、ミラーが別のサーバーにリダイレクトしているか、URLが正しいか、ミラーによって報告されたエラーを確認し、オプションで同期されていないパッケージ名を確認します。
特定のミラーリストでの調査のみを実行する例
$ ghostmirror -Pomui ./mirrorlist.mantainer all