« apt-cacher-ng:仮想環境にてホストOS自身もキャッシュを利用する | トップページ | アップル:「iPhoneのピーク性能を落としていた件」540億円 »

2020年4月20日 (月)

apt用キャッシュプロキシの構築 〜 apt-cacher-ng

仮想化含めて、実験用のホストが増加した反面、同じパッケージをネットからダウンロードする機会が増加。

公開されているサーバへの負担をあまりかけたくなかったので、apt用のキャッシュサーバを構築することにした。

ということで、今回は「apt用キャッシュプロキシについてのメモ」です。なお作業OS環境はDebian10になります。

 

さて、apt用のキャッシュサーバに利用できるソフトはいくつかあります。

・squid-deb-proxy
・approx
・apt-cacher
・apt-cacher-ng
・go-apt-cacher

等々。

で、今回は手軽に扱えやすそうな「apt-cacher-ng」を選択。

 

以下、作業環境概略図です。このページでは基本、この状況で説明します。

Apxy_002

なお、以下のような環境でも同様に可。

Apxy_003r

仮想マシンで利用する場合についても作業内容は基本的に変わりません。

 

では、最初にサーバにするホスト(192.168.1.3)に「apt-cacher-ng」をインストール。(仮想環境では192.168.1.5)

# apt update
# apt install apt-cacher-ng

で、終。

Apxy_403r

なお、純CUI環境(デスクトップ環境を入れていない)ではコンソールの表示の一部が文字化けする可能性がある。

(ちなみにデスクトップ環境入りのケースでは、tty1〜6の仮想コンソールに切り替えた場合などでも同様の文字化けが起きたりする。)

Apxy_405r

これを解決するには

$ export LANG=C

として、日本語表示を諦める・・・

Apxy_401r

か、または、

$ fbterm

などのフレームバッファベースの端末エミュレータを利用して日本語表示をさせれば解決する可能性大。

Apxy_402

ちなみに、今回は「fbterm」を利用して作業してます。

 

さて、話変わって必須では無いんですが、同一セグメント限定で、プロキシサーバをIPアドレスで指定するのでなく、ホスト名で指定したいならば、

# apt install avahi-daemon

と、avahiもここでインストールしておくとよいかと。mDNSにてホスト名で指定が可能となります。

以上でプロキシサーバ側の設定は終了。

なお、自分のプロキシサーバのIPアドレスを知りたければ、

# ip a

とかで調べてください。

Apxy_504r

 

次にプロキシを利用する側のホスト(192.168.1.2 や 192.168.1.4)の設定。
(仮想環境なら 192.168.122.○/△/◇)

プロキシを利用するホスト側で、/etc/apt/apt.conf.d/以下に使用するプロキシを指定するためのファイルを作成します。

# vi /etc/apt/apt.conf.d/02proxy

vi が嫌な人は nano などで対応をば。ファイル名は「02proxy」としてますが、「05proxy」とかでも別に構いません。

このファイルに以下の行を書き込みます。

Acquire::http::Proxy "http://プロキシサーバのIPやホスト名:3142";

Apxy_501_  

なお、3142は、apt-cacher-ngデーモンが利用するポートです。

 

ファイルを作成し終わったら終了。一度「# apt update」しておきます。

これで作業は終了です。

 

以降「# apt install パッケージ名」とするとプロキシサーバ経由でdebパッケージをインストールしていきます。

ちなみにプロキシサーバに実際にdebパッケージファイルが保存されているか確認したければ、

プロキシサーバ(192.168.1.3 または 192.168.1.5)の

/var/cache/apt-cacher-ng/

を確認してみると良いです。ここがキャッシュの保存先になってます。

Apxy_404

また、ログに関しては

/var/log/apt-cacher-ng/apt-cacher.log

にあるので、これを読めばどのパッケージをキャッシュしたかが確認できます。

Apxy_502

[I]の行が外のサーバからダウンロードしたパッケージ。

[O]の行がプロキシから各ホストへ配布されたパッケージ。

 

また、apt-cacher-ngはWebブラウザから利用状況の確認ができたりもします。

たとえばプロキシを利用する側のWebブラウサで

http://プロキシサーバのIPやホスト名:3142/

とすると利用できます。

Apxy_410_r

以上、apt-cacher-ng によるapt用のキャッシュプロキシの構築でした。

 

なお、補足ページとして以下のページもあります。

 補足①「apt-cacher-ng:仮想環境にてホストOS自身もキャッシュを利用する

 補足②「apt-cacher-ng:使用できないプロキシは無視したい

興味がある方はどうぞ。

 

 

【参考ページ】
 ・Ubuntu Weekly Recipe:第315回 apt-cacher-ngを使ってAPT用キャッシュプロキシの構築 
 ・DebianWiki:AptCacherNg 
 ・Apt-Cacher-NG User Manual 

 ・Linux,BSDでmDNSの名前解決がavahiで行われない場合は .local ドメインがないか確認しましょう。 
 ・LANで使用するドメイン名の注意点 

 ・GUIなしのLinuxのコンソールで文字化け・・・「LANG=C」ではなく「fbterm」で解決 
 ・Wikipedia(英):Linux console 
 ・ArchWiki:Fbterm 
   すでに開発は止まっているらしい
 ・ArchWiki:KMSCON 
   こやつも開発が止まってそうな感が・・・

 

 

〔関連ページ〕
 ・virt-manager 超入門! in 2018 

 

 

 

 

 

 

 

 

« apt-cacher-ng:仮想環境にてホストOS自身もキャッシュを利用する | トップページ | アップル:「iPhoneのピーク性能を落としていた件」540億円 »

サーバ」カテゴリの記事

コメント

この記事へのコメントは終了しました。

2021年5月
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          
無料ブログはココログ