Ubuntu / Kubuntu / * buntu用の企業更新サーバーとしてのApt-cacher

交換用apt-mirror



apt-cacherは、パッケージインストーラとしてaptを使用するDebianライクディストリビューション用のユーティリティです。 ユーザーがオフからダウンロードしたファイルをキャッシュします。 更新をミラーリングし、次のリクエストでキャッシュから更新を返します。



apt-cacher`a before apt-mirror`omの利点は何ですか?


まず、トラフィックを節約します。 同僚が既に同じパッケージをダウンロードしているのに、なぜ同じパッケージを数回ダウンロードするのですか? したがって、* buntuを使用するオフィスの人数に比例して、トラフィックの節約が増加します。

次に、apt-cacherがインストールされている鉄道サーバーのスペースを節約します。 結局、最大10 GBが使用されるのに、なぜ22 GBのパケットを鉄道に保管するのですか?

第三に、更新の受信速度。 更新ミラーを何回更新しますか? 一日一回? Apt-cacherを使用すると、オフに表示される更新を受信できます。 鏡の中。 ユーザーが更新要求(apt-get update)を行うと、apt-caherが登ります。 キャッシュにあるものの更新をチェックするミラー。

もちろん、apt-cacherには欠点があります。

最初のマイナス点は、apt-cacherが、debianリポジトリの構造とは異なり、その構造に従ってキャッシュファイルを配布することです。 ただし、以下で説明するように、リポジトリ構造を維持することが重要な場合は、この問題を解決できます。

2番目のマイナスは、Apache Webサーバーが必要なことです。 ここで、残念ながら、問題を解決するのはそれほど簡単ではありませんが、これは重大な問題だとは思いません:)



apt-cacher`aのインストールと構成



インストール自体は、Debianパッケージではかなり一般的です

sudo apt-get install apt-cacher







キャッシュ(つまり、パッケージ自体)を保存するフォルダーを作成し、そのフォルダーに権限を割り当てます

sudo mkdir /var/cache/apt-cacher

sudo chown www-data:www-data /var/cache/apt-cacher/*







どこでもフォルダを作成できます

ユーザーとwww-dataグループの下で、apt-cacherが起動され、そのすぐ下でApacheを起動する必要があります。



セットアップはもう少し複雑で、apt-cacher`a自体の構成を分析する例になります。

ファイル/etc/apt-cacher/apt-cacher.confを開いて編集します。

sudo nano /etc/apt-cacher/apt-cacher.conf







confの例を考えてみましょう。 ファイル:

cache_dir=/var/cache/apt-cacher # .

admin_email=root@localhost # :)

daemon_port=9999 # apt-cacher

group=www-data # apt-cacher

user=www-data # apt-cacher



allowed_hosts=* # (- )

denied_hosts= # .



generate_reports=1 # apt-cacher`a(1-, 0 - )



clean_cache=1 # ,

offline_mode=0 # 0, apt-cacher . , 1,

logdir=/var/log/apt-cacher # apt-cacher`

expire_hours=0 # apt-cacher . expire_hours , , . , - ., . , .. . 0 — , 0 — .

http_proxy= # -( )

use_proxy=1 #(1) (0) .

http_proxy_auth= # (: user:password)

use_proxy_auth= # ? (1-, 0-)

limit=0 # . 0 — . 250K — 250/, 2m — 2/

debug=0 # . 0 — , 1 — .

path_map = ubuntu archive.ubuntu.com/ubuntu ; canonical archive.canonical.com/ubuntu ; medibuntu packages.medibuntu.org/ ; # . , .. .







apt-cacher自体の構成では、すべて(まあ、またはほとんどすべて)が明らかです。

それでは、Apacheの設定を始めましょう。 Apache自体の構成プロセスについては説明しませんが、Webには多くの優れたチュートリアルがあります。 これがすべて機能するには、Perlをインストールし、ExecCGIを有効にする必要があります。 私の設定の例(ファイル:/etc/apt-cacher/apache.conf

Alias /apt-cacher /usr/share/apt-cacher/apt-cacher.pl



<DirectoryMatch /usr/share/apt-cacher/>

Options ExecCGI

AddHandler cgi-script .pl

AllowOverride None

order allow,deny

allow from all











こっち 構成設定 ファイルが完成しました。 さて、ワークステーションのセットアップを開始する時が来たと思いますが、最初にapt-mirrorのキャッシュにあったものをapt-cacherに変換する方法を説明します。



apt-mirror> apt-cacher





Apt-cacher`aには、パッケージをapt-cacher`a形式に変換するためのperlスクリプトがあり、その名前はapt-cacher-import.plで、/ usr / share / apt-cacherにあります。 次のように使用します。

/usr/share/apt-cacher/apt-cacher-import.pl -r -c /etc/apt-cacher/apt-cacher.conf /var/my_repos







-r-再帰的なディレクトリトラバーサル

-cは、confへのパスを指定するオプションのパラメーターです。 ファイル。

/ var / my_repos-apt-mirror形式のリポジトリ(通常のDebianリポジトリ形式)へのディレクトリ。



このコマンドの結果、/ var / my_reposにあるすべてのパッケージがコピーされ、/ var / cache / apt-cacherフォルダー内の目的の形式に変換されます

Debianリポジトリを離れる必要があり、apt-cacher`aリポジトリが追加のスペースを占有しないようにする場合は、コマンドに-sを追加すると、スクリプトは単にパッケージへのsimリンクを作成します。 しかし! その後Debianリポジトリを削除すると、apt-cacherのパッケージも利用できなくなります(これらは通常のsimリンクです)

apt-proxyを使用した場合、apt-cacherには、リポジトリを独自のリポジトリに変換するスクリプトもあります。 スクリプトは/usr/share/apt-cacher/apt-cacher/apt-proxy-to-apt-cacher.plです。



デーモンを起動し、クライアントマシンを構成します。





通常どおりサーバーを起動するのは簡単です:

sudo /etc/init.d/apt-cacher start







Apacheおよびapt-cacherの構成で構文およびその他のエラーを作成していない場合、サーバーは正常に起動し、幸せなメッセージ[OK]を通知します。エラーが発生した場合、サーバーは悲しい顔をしかめて[FAIL]を報告します。 その後、すべてを読み直し、おそらく少しグーグルを読み直す必要があります。

起動を確認するには、 localserver :9999に移動します(localserverはapt-cacherが実行されているサーバーです)。



顧客設定


実際には、/ etc / apt / sources.listファイルに1行追加するだけで(残りはコメントアウトできます):

deb http://localserver:9999/ubuntu intrepid multiverse restricted main universe







すべてが通常のリポジトリにあるようなもので、更新する必要があるもの、ディストリビューションなどを示します。 Localserverは、apt-cacherを実行しているサーバーです。



統計を有効にした場合、 localserver :9999 / reports



まあ、それですべてです:)



unix-admin.suに関する記事



All Articles