交換用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に関する記事