ウェブサイト検索

Arch Linuxでミラーリストの更新を自動化してPacmanの頭痛を避ける


Arch Linuxのミラーリストの更新を自動化して、常に最新の状態に保ちます。

重要なポイント

  • ミラーは、Linux リポジトリ内のソフトウェアパッケージを保持するサーバーです。ミラーリストを最新の状態に保つことは、アプリケーションのインストールやシステムの更新にとって重要です。
  • Archミラーリストを手動で更新するには、自分の地域のミラーのリストを生成し、それをファイルに貼り付けてpacmanが使用できるように保存します。
  • Reflectorはミラーリストを生成し、mirrorlistファイルを更新するユーティリティです。コマンドラインまたはカスタマイズ可能なオプションを持つサービスとして使用できます。

ミラーはLinuxディストリビューションのリポジトリを複製するサーバーです。Arch Linuxには、世界中に多くのミラーがあります。私たちは、Arch Linuxコンピュータが使用するミラーを選択する2つの方法を示します。

鏡が重要な理由

Linuxディストリビューションのユーザーが利用できるすべてのソフトウェアパッケージは、リポジトリに保管されています。リポジトリは、単にインターネットにアクセス可能なサーバーです。アプリケーションをインストールする際は、パッケージマネージャーがリポジトリに接続して、インストールファイルを取得する必要があります。

すべてのクラウドベースのリソースと同様に、リポジトリは帯域幅と可用性の課題に直面しています。接続が多すぎたり、ネットワークトラフィックが過剰であったりすると、サーバーが重くなったり、遅くなったりすることがあります。ハードウェアの障害や定期メンテナンスがあると、リポジトリがオフラインになることがあります。

配布は、世界中にある模倣リポジトリのネットワークを使用しています。これにより、すべての人がメインリポジトリに接続するのではなく、地域内のリポジトリを提供することでユーザーへの接続が速くなります。

コンピュータが使用するミラーのリストが最新であることを確認することは重要です。なぜなら、アプリケーションのインストールやシステムの更新はそれに依存しているからです。

アーチミラーリストを手動で更新する

デフォルトでは、Archはミラーリストを自動的に更新しません。インストール時にミラーリストが作成されますが、あなた自身がアクションを取らない限り、そのリストは変更されることはありません。

リストを手動で更新することは可能ですが、便利ではありません。プロセスを自動化するのが最善の解決策です。しかし、望むなら、自分でミラーリストを手動で更新することもできます。

始めるべき場所はArch Linux Pacmanミラーリストジェネレーターです。私たちの目標は、あなたの地域のミラーと、冗長性のために他の地域のいくつかのミラーのリストを取得することです。

私はスクロールリストから「イギリス」を選択し、チェックボックスから「HTTPS」と「IPV4」を選択しています。「ミラーの状態を使用する」チェックボックスを選択したので、結果にはアクティブなミラーだけが含まれます。

結果を見るには、「リストを生成」ボタンをクリックしてください。

一致するミラーがリストされています。このテキストをコピーしてエディタに貼り付けてください。すべての行はハッシュ記号「#」で始まるため、コメントとして扱われます。ミラーを有効にするには、その行の先頭からハッシュを削除します。

このプロセスを他の地域でも繰り返し、毎回結果をエディタに貼り付けることができます。また、ドイツとスウェーデンのミラーも選択しました。これにより、イギリスのミラーがダウンしたりアクセスできない場合でも、pacmanはスウェーデンとドイツのミラーを使用しようとします。

pacmanは「/etc/pacman.d/mirrorlist」というファイルからミラーを読み込みます。そのファイルを編集し、新しいリストで内容を置き換える必要があります。

sudo gedit /etc/pacman.d/mirrorlist

「gedit」をあなたの好きなエディタに置き換えてください。作成したリストをミラーリストファイルにコピー&ペーストし、元の内容を置き換えます。ファイルを保存してエディタを閉じてください。

パックマンは今、新しいリストを使用します。

リフレクターとは何か、およびその役割は何ですか?

Reflectorはミラーリストを生成し、オプションでmirrorlistファイルを更新するためのユーティリティです。コマンドラインで使用することも、サービスとして使用することもできます。

ミラーを使用する地域を選択するためにパラメータを渡すことができ、結果をたとえばダウンロード速度でランク付けすることもできます。

Arch Linuxでは、Reflectorはデフォルトでインストールされていませんが、他のArchベースのディストリビューションではインストールされているかもしれません。

Arch LinuxにReflectorをインストールする

Reflectorをインストールするのは簡単です。動作するミラーリストがある限り、pacmanは動作します。それがない場合、pacmanは動作しません。その場合は、上記の手順を経て手動で動作するミラーリストを作成する必要があります。

パックマンコマンドは次のとおりです。

sudo pacman -S reflector

コマンドラインでリフレクターを使用する

コマンドラインでReflectorを使用すると、既存のミラーリストが上書きされる可能性があるため、既存のミラーリストをバックアップとして保存したい場合は、始める前にコピーを作成してください。

sudo cp /etc/pacman.d/mirrorlist /etc/pacman.d/old-mirrorlist

この例はあなたのミラーリストを上書きしません。

reflector --verbose --ipv4 --protocol https --score 10 --sort rate

私たちが使用したオプションは次の通りです:

  • 冗長な: 可能な限り詳細な出力を提供します。
  • ipv4: IPv4プロトコルをサポートするミラーを選択してください。
  • プロトコル: 指定されたプロトコル(HTTP、HTTPS、またはFTPなど)をサポートするミラーを選択します。
  • スコア: 最も良いスコアのミラーの数を選択してください。各ミラーにはスコアが付けられ、スコアが低いほど優れています。これは、接続遅延時間、平均接続時間、および正常に完了したテスト接続の割合から計算されます。コマンドラインの「10」という数字は、いくつの最高スコアのミラーを返すかを指しており、スコア自体を指しているわけではありません。
  • ソート: 結果をソートします。私たちはダウンロード率でソートすることにしました。pacmanは作業しているミラーを見つけるまで、ミラーリストのトップからボトムに向かってミラーを試しますので、リストの最初に最も速いミラーを置くのが理にかなっています。

Reflectorは多くのコマンドラインオプションをサポートしています。ですが、Reflectorのマニュアルページにはそれらは載っていませんので、ヘルプオプションを使う必要があります。

reflector --help

ご覧のとおり、--saveオプションを省略すると、既存のミラーリストを危険にさらすことなくReflectorコマンドをドライランできます。ミラーリストファイルを更新するために--saveオプションを含めましょう。このオプションを使用する際は、sudoを使用する必要があります。

sudo reflector --verbose --country DE,SE,GB --protocol https --sort rate --latest 20 --download-timeout 6 --save /etc/pacman.d/mirrorlist

私たちの新しい選択肢は次の通りです:

  • 国: 鏡を含めたい地域を選択します。国コードまたは国名を使用できます。
  • 最新: 私たちは20の最新のミラーを使用したい。
  • ダウンロードタイムアウト: Reflector がリポジトリをオフラインと見なす前の秒数を設定します。
  • 保存: 結果を書き込むファイル。Archのデフォルト位置は「/etc/pacman.d/mirrorlist」です。

catやlessコマンドを使用してミラーリストを表示できます。

less /etc/pacman.d/mirrorlist

リフレクターはタイムスタンプ付きのヘッダーを書き込むので、最後の更新がいつ行われたかを見ることができます。

リフレクターサービスを使用すること

Reflectorはサービスとタイマーを提供します。reflector.serviceを有効にして起動すると、コンピュータを起動するたびにミラーリストを更新します。欠点としては、起動時間が遅くなることです。

より良い解決策は、反射器のタイマーを有効にして開始することです。それによって、反射器サービスが週に一度実行されます。

sudo systemctl enable reflector.timer 

sudo systemctl start reflector.timer

Reflectorの設定ファイルを編集するには、このコマンドでお気に入りのエディタを使用してください:

sudo gedit /etc/xdg/reflector/reflector.conf

コマンドラインオプションは別々の行にリストされていることがわかります。

彼らの値を変更することも、自分が使用したい値を追加することもできます。

タイマーの設定ファイルを編集するには、次のコマンドを使用してください:

sudo gedit /usr/lib/systemd/system/reflector.timer

タイマーの設定方法については、別の記事で詳しく説明しています。

タイマーを使用して、必要なときに更新してください。

いつでもコマンドラインでReflectorを実行することで、手動でミラーリストを更新できます。コマンドをエイリアスやBashシェル関数にすると、すべてのパラメータを覚えておく必要がなくなります。

関連記事: