0

私はいくつかの DevOps 作業を行っており、頻繁にマシンを立ち上げて、さまざまな場所から多数の Pear パッケージをインストールする必要があります。

これらの異なる場所は、ある程度頻繁に (週に数回)オフラインになります。とにかく、私の正気のためにあまりにも頻繁です。

Pear パッケージごとにアクセスする、何らかの種類のキャッシュ プロキシ サーバーを自分でホストして自分で実行すると便利です。パッケージがない場合は、外に出てフェッチします。これにより、他の多くのサーバーの負荷が軽減されます。また、アップストリームが永遠にダウンした場合でも、パッケージにアクセスできるという一定の保証が得られます。

そのようなソフトウェアは存在しますか?ピルス?Pyrus がどのような問題を解決するのかさえわかりませんが、私の問題は解決していないようです。

この種のパッケージのプロキシ/キャッシュは、 Nexusが Java/Maven ランドで行うことと似ています。

4

2 に答える 2

2

Pyrus は、PHP5.3+ 用の PEAR インストーラーになることを目的としています。一部の新しい PEAR2 パッケージではこれが必要です。しかし、それはキャッシングの解決策ではありません。


最も簡単な方法は、パッケージとその依存関係をリモートサーバーから一度ダウンロードしてから、パッケージをローカルにインストールすることだと思います。Benchmarkパッケージを使用した例を次に示します。

wget 'http://your.cache.server/package/Benchmark-1.2.9.tgz'
tar xf Benchmark-1.2.9.tgz
cp package.xml Benchmark-1.2.9
sudo pear install package.xml

もう 1 つの方法は、PEAR がダウンロードに HTTP を使用するため、キャッシング HTTP プロキシ サーバーを使用することです。Squid はすでにニーズに合っているかもしれません。


ピルムも使用できます。これは PEAR チャネル サーバー ソフトウェアです。つまり、独自の PEAR リポジトリをセットアップできます。これがあれば、(頻繁にダウンする) リモート チャネル サーバーを自分でシミュレートできます。

  • そのリモート チャネルから必要なパッケージをダウンロードし、独自のチャネルにインストールします。
  • /etc/hosts でドメインを 127.0.0.1 にポイントし、それらに apache vhosts をセットアップします。
  • pyrus を使用して、そのドメインごとにチャネル サーバーをセットアップし、それらにパッケージを追加します。
于 2013-04-23T22:29:18.930 に答える