Como posso verificar a localização dos arquivos perl e CPAN?

2

Eu constantemente tenho que configurar novos servidores para um empregador meu para um propósito exato dele, e como tal, todos eles têm que ser configurados exatamente da mesma maneira. Então eu criei um script em PHP que eu corro da minha própria caixa para enviar automaticamente todos os arquivos relevantes, compilar tudo, executar atualizações e tudo mais.

No entanto, por alguma razão, esses novos servidores vêm com perl, o que é bom, mas eles têm o perl instalado em locais diferentes. Isso faz com que seja difícil copiar Config.pm para o CPAN sem entrar e encontrar o local manualmente.

Existe algum comando que eu desconheço que irá procurar a localização precisa?

Se isso ajuda, geralmente os servidores são CentOS 5

    
por Rob 04.06.2012 / 17:25

4 respostas

4

Use o comando which para obter o caminho do perl:

which perl


Use o comando find no linux para procurar por CPAN:

find / -name CPAN.pm
    
por 04.06.2012 / 17:38
4

I constantly have to set up new servers for an employer of mine for an exact purpose of his, and as such they all have to be set up in exactly the same way. So I've created a script in PHP that I run from my own box to automatically send over all the relevant files, compile everything, run updates, and everything else.

Você está fazendo errado e fazendo mais trabalho para si mesmo.
Investigue as ferramentas de gerenciamento de configuração ( Puppet , Chef ) ou ferramentas de implantação ( radmind ) - Se você implantar seus sistemas com algo como as ferramentas que acabei de mencionar, você saberá que cada box é verdadeiramente idêntico , e mais importante que eles serão mantidos assim.

Até que você tenha tempo para fazer isso, locate ou find , como os outros mencionaram, pelo menos lhe dirão onde o arquivo que você quer viver.

    
por 04.06.2012 / 17:44
3
type -P perl

encontrará a localização do Perl no caminho.

Se mlocate.db estiver atualizado, você pode usar

locate CPAN.pm

Outra maneira de encontrar locais prováveis para CPAN.pm :

perl -le '$,="\n"; print @INC'
    
por 04.06.2012 / 17:33
0

Mais rápido que a sugestão de Ava Gailliot e com menos falsos positivos:

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

O caminho aqui é todos os diretórios da sua instalação perl, onde o perl tem permissão para procurar por módulos para carregar.

    
por 04.06.2012 / 22:29

Tags