web-dev-qa-db-ja.com

PerlおよびCPANファイルの場所を確認するにはどうすればよいですか?

私は常に私の雇用主のために彼の正確な目的のために新しいサーバーをセットアップする必要があり、そのためそれらはすべてまったく同じ方法でセットアップする必要があります。そこで、PHPでスクリプトを作成しました。このスクリプトは、自分のボックスから実行して、関連するすべてのファイルを自動的に送信し、すべてをコンパイルし、更新を実行し、その他すべてを実行します。

ただし、何らかの理由で、これらの新しいサーバーにはPerlが付属しています。これは問題ありませんが、Perlはさまざまな場所にインストールされています。これにより、CPANのConfig.pmをコピーして、手動で場所を見つけずにコピーするのが面倒になります。

正確な場所を探すために、私が気付いていないコマンドがあるのでしょうか。

それが役立つ場合、通常サーバーはCentOS5です

2
Rob

whichコマンドを使用して、Perlのパスを取得します。

which Perl


Linuxでfindコマンドを使用して、CPANを探します。

find / -name CPAN.pm
4
에이바

私は常に私の雇用主のために彼の正確な目的のために新しいサーバーをセットアップする必要があり、そのためそれらはすべてまったく同じ方法でセットアップする必要があります。そこで、PHPでスクリプトを作成しました。このスクリプトは、自分のボックスから実行して、関連するすべてのファイルを自動的に送信し、すべてをコンパイルし、更新を実行し、その他すべてを実行します。

あなたはそれを間違ってやっていて、あなた自身のためにより多くの仕事をしています。
構成管理ツール( PuppetChef )または展開ツール( radmind )を調査する-システムを何かで展開する場合今述べたツールのように、すべてのボックスが本当に同一であり、さらに重要なことに、それらがそのように保持されることがわかります。


それを行う時間があるまで、他の人が言及しているように、locateまたはfindは、少なくとも、必要なファイルがどこにあるかを教えてくれます。

4
voretaq7
type -P Perl

パス内のPerlの場所を検索します。

mlocate.dbが最新の場合は、

locate CPAN.pm

CPAN.pmの可能性のある場所を見つける別の方法:

Perl -le '$,="\n"; print @INC'

Ava Gailliotの提案よりも速く、誤検知が少ない:

find $(Perl -E 'say"@INC"') -name CPAN.pm -exec dirname {} \;

ここでのパスは、Perlがロードするモジュールを探すことができるPerlインストールのすべてのディレクトリです。

0
mob