Ubuntu で apt-cacher-ng を導入しパッケージキャッシュサーバーを構築する
【概要】この記事では、Ubuntu環境において、aptパッケージのキャッシュサーバーソフトウェア「apt-cacher-ng」を導入する手順を解説します。apt-cacher-ngを利用することで、特に複数台のUbuntuマシンが存在する環境において、aptパッケージダウンロード時のネットワーク帯域を節約し、ダウンロード時間の短縮が期待できます。本記事では、apt-cacher-ngのインストールコマンドと、サーバーとして機能させるために最低限必要なファイアウォール設定、そしてクライアント側の設定について説明します。
はじめに
この記事の手順は、管理者権限 (`sudo`) を持つユーザーで実行することを前提としています。また、ファイアウォールとしてUFW (Uncomplicated Firewall) が有効になっている環境を想定しています。
apt-cacher-ng のインストール
まず、パッケージリストを最新の状態に更新します。
sudo apt -y update
次に、apt-cacher-ng パッケージをインストールします。`-y` オプションを使用すると、確認プロンプトなしでインストールが実行されます。
sudo apt -y install apt-cacher-ng
ファイアウォール設定 (UFW)
apt-cacher-ng は、デフォルトでTCPポート 3142 を使用してクライアントからの接続を待ち受けます。UFW (Uncomplicated Firewall) を使用している場合、このポートへのアクセスを許可する必要があります。
sudo ufw allow 3142/tcp
これにより、他のマシン(クライアント)からこのサーバー上の apt-cacher-ng サービスへTCPプロトコルで接続できるようになります。`sudo ufw allow 3142` のようにポート番号のみを指定すると、TCPとUDPの両方が許可される場合がありますが、通常aptの通信にはTCPのみで十分です。
クライアントの設定
apt-cacher-ng サーバーを利用するには、キャッシュを利用したいクライアント側のUbuntuマシンで設定が必要です。`/etc/apt/apt.conf.d/` ディレクトリ内に、プロキシ設定ファイル(例: `02proxy`)を新規に作成し、以下の内容を記述します。
Acquire::http { Proxy "http://<apt-cacher-ngサーバーのIPアドレス>:3142"; };
`
この設定を行った後、クライアントマシンで `sudo apt update` などを実行すると、apt-cacher-ng サーバーを経由してパッケージ情報やパッケージファイルがダウンロードされるようになります。
動作確認と管理
apt-cacher-ng が正常に動作しているか、またキャッシュの状況を確認するには、Webブラウザから以下のURLにアクセスします。
http://<apt-cacher-ngサーバーのIPアドレス>:3142/acng-report.html
この管理ページでは、キャッシュヒット率やダウンロードされたパッケージの統計情報などを確認できます。