LinuxMint/Ubuntuのパッケージキャッシングプロキシ(apt-cacher-ng)利用
記事の更新日:2026/10/12 記事公開
1.概要
最近、LinuxMint/Ubuntuの更新情報リリースが非常に多くなっています。AIによる脆弱性の発見によるものかもしれませんが、更新頻度と更新パッケージ量が多くなり、複数台のPCを保守する場合、時間が必要になっています。改善できることはネットワークを経由して更新パッケージをダウンロードする処理を変更して、更新サーバの負担とネットワーク負荷を下げることです。これを実現する製品として、apt-cacher-ngを見つけたので実際に設定をして、効果を測定しました。
私の評価は以下の通りです。
(1) apt-cacher-ngは使えます
(2) 複数台のLinuxMint/Ubuntu環境を利用している場合は、効率的に更新できます
(3) 設定作業は難しくなく、クライアント側の設定は削除も簡単です
(4) 以前、apt-cloneを検討したのですが、apt-cacher-ngが良いです
2.詳細
apt-cacher-ngは、Debian/Ubuntu向けのパッケージキャッシング機能を実現するプロキシサーバです。従って、システム構成にはサーバとクライアントが登場します。1台目のクライアントからapt-update,apt-upgradeが実行されると、サーバ側では更新パッケージがインターネットから取得され、サーバ側にパッケージが保存されます。2台目のクライアントからapt-update,apt-upgradeが実行されると、サーバ側に保存された更新パッケージがクライアントに送付され、1台目でダウンロードした更新パッケージはインターネットから再度取得されることがありません。想定通りの機能です。
この機能を利用することで複数台のクライアントを所有している場合、全体を更新するスピードが大きく改善されます。その理由はネットワークを経由した更新パッケージのダウンロードには時間を必要とするためです。更新パッケージのPCへの適用時間はPC性能に依存するのですが、ネットワークからのダウンロード時間と比較すると短時間に完了できます。
具体的な設定を記載します。
(1) 環境
サーバ:apt-cacher-ngを稼働するPC
LinuxMint 22.3、CPU intel i5、Memory 16GB、SSD 128GB
ip-addressを10.0.0.1とします
ip-addressを10.0.0.1とします
クライアント:apt-update, apt-upgradeを実行するPC
LinxuMint 22.3
apt-cacher-ngはDebian/Ubuntuのバージョン管理可能なので複数バージョン環境でも利用できます
(2) サーバ作業
$ sudo apt update
$ sudo apt install apt-cacher-ng
$ echo 'Acquire::http::Proxy "http://127.0.0.1:3142";' | sudo tee /etc/apt/apt.conf.d/01proxy
サーバのパッケージ更新もapt-cacher-ng経由になるように設定します
(3) クライアント作業
/etc/hostsにサーバのhost名とIP-address(10.0.0.1)を登録します
10.0.0.1 apt-cacher
/etc/apt/apt.conf.d/01proxyを作成します
$ echo 'Acquire::http::Proxy "http://apt-cacher:3142";' | sudo tee /etc/apt/apt.conf.d/01proxy
(4) PCにFirewall設定がある場合
サーバの3142/tcpを開放して、クライアントからアクセス可能にします
(5) テスト
上記環境のサーバと2台のクライアント環境を準備します。まず、1台目でapt-update,apt-upgradeを実行すると、普段の処理と変わりません。次に2台目でapt-update,apt-upgradeを実行すると、ダウンロード処理が一瞬で終わり、PC上でのパッケージ更新が始まります。
(6) apt-cacher-ngの設定をやめる場合
定義ファイルを削除します
$ rm /etc/apt/apt.conf.d/01proxy
3.評価
以前、apt-cloneを試したのですが、apt-cacher-ngの方が格段に良いことがわかりました。Proxyサーバを構築したことがある方ならば、仕組みも理解するのは容易であり、会社などのLinuxMint/Ubuntu環境の更新処理用として準備するのは合理的で効率的だと思います。利用を開始したばかりなので、評価を継続したいと思っています
参考
[本ブログ内参照]
[外部サイト参照]
コメント
コメントを投稿