squid-deb-proxyキャッシュにパッケージを追加する方法は?


10

インターネットプランの帯域幅とデータを節約するために、デスクトップにsquid-deb-proxyをインストールし、そのクライアントと他のいくつかのマシンをインストールしました。ただし、これに私を置いた投稿に基づいてラップトップ*を別のネットワークに移動してそこで更新すると、ダウンロードした更新は、取得時にsquid-deb-proxyサーバーに自動的にコピーされません私のネットワークに戻って。

これが正しいと仮定して(後でテストします)、これらのパッケージをキャッシュに固定して、ネットワーク内の他のマシン用にもう一度ダウンロードする必要がないようにする方法はありますか?


*コメントで述べたように、ラップトップを単にプロキシサーバーにすることもできますが、私の特定のケースでは、ラップトップは実際には1)常に実行されていないVM、2)開いていないラップトップ時間。そのため、その解決策は良いものですが、私の場合は機能しません。


過去にそれについて作者と話すことから、これを行うことは驚くほど簡単ではありませんが、誰かが何か賢いことを思いつくかもしれません。
ホルヘカストロ

おそらくaskubuntu.com/q/113983/8724が役立つでしょう。。。。
zpletan 2012年

このラップトップは別のネットワーク、squid-deb-proxyサーバーで使用していますか?
saji89

@ saji89:いいえ、すべてのマシンが同じネットワーク上にあります。
zpletan 2012年

@ saji89が尋ねた質問を理解していないと思います。同じ質問があります。ラップトップにsquid-deb-proxyをインストールし、デスクトップラップトップにsquid-deb-proxy-clientをインストールする、ラップトップはプロキシになり、ローカルでプロキシを使用します。このように、あなたが家から離れているとき、それはラップトップのアップデートを保ちます。家に帰ると、デスクトップはラップトップからアップデートを受け取ります。
ポピー

回答:


2

あなたは使用することができapt-move、あなたのラップトップのaptのキャッシュ内のファイルからローカルのaptリポジトリを作成する(同じ名前のパッケージから)。次に、を使用rsyncして、このリポジトリの同期されたコピーをLANに保存します。最後に、他のLANマシンがの上部にあるローカルリポジトリのLANコピーを指すsources.listようにして、aptがリモートリポジトリよりもローカルリポジトリを優先するようにします。


0

これはまだ不完全な回答ですが、最良の回答である可能性があるため、部分的/醜い/複雑な解決策について知りたい場合は読んでください。

興味深い質問ですが、同じ問題が発生しましたが、修正することはありませんでした。代わりに、ローカルLANの外でapt-gettingを制限しようとしています。それは本当に面倒の価値がありませんでした、私は去年の間にせいぜい20MBのように浪費しました。私のisoトレントシーディングがそれを補います。だが!

  1. ラップトップと自宅の間にトンネル/プロキシを設定してホームキャッシュを利用することもできます(これはプライバシー上の理由からとにかく良い考えです)が、その場合はアップロード速度に依存します。これは遅いだけでなく、同じものをダウンロードするために2倍の帯域幅を使用します。UbuntuミラーからLANに1回入り、コーヒーショップに1回。

  2. 私は、ラップトップでキャッシュサーバーを実行し、rsyncを使用してホームサーバーとの同期を維持することをお勧めします。ただし、これは、自宅にいるときにラップトップのサーバーが引き続き実行されるという問題を引き起こします。これに対処するには、2つの可能性が考えられます。1.自宅にいる間にラップトップのキャッシュサーバーを停止します2.ラップトップ上のホームサーバーに存在するすべてのキャッシュコピーを保持し(余分なスペース要件)、キャッシュデータをサーバーにプッシュするだけでなく、サーバーにキャッシュデータをプッシュするだけでこれを実現しますrsyncを使用してホームしますが、キャッシュされたデータを定期的にラップトップサーバーにプルします。これを示唆するにあたり、あるサーバーのsquid-deb-proxyキャッシュは別のサーバーと互換性があり、ファイルをそのように入れ替えることができると仮定しました。これらのオプションも確かにいくつかのスクリプトが必要になります。


0

シンプルで愚かなアプローチを使用します。squid-deb-proxyはそれ自体をプロキシとして使用できます。したがって、私はただ行います:

  1. クライアントソフトウェアをsquid-deb-proxyサーバーにインストールします。

    apt-get install squid-deb-proxy-client

  2. インストールされているすべてのパッケージを一覧表示する簡単なスクリプトを作成し、各パッケージを再ダウンロードしました。

    #!/bin/bash  
    # Create temp dir & change into it
    tmpdir=$(mktemp -d) 
    pushd $tmpdir   
    # Get all installed packages and re-download them
    for package in $(dpkg --get-selections | cut -f 1); do apt-get download $package; done;
    popd
    # Delete tmp dir
    

このようにして、それほど悪くない基本的なキャッシュがすでにあります。

既存のサーバーのすべてのパッケージをキャッシュに追加する場合は、同じ手順1)と2)を実行するだけです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.