Você pode criar um link usando ln que vincula / usr / bin / perl a / usr / local / bin / perl
ln -s /usr/local/bin/perl /usr/bin/perl
Estou tentando instalar o BugZilla em nosso servidor. A questão é que os scripts perl do BugZilla definem o caminho como /usr/bin/perl
, e minha instalação do perl está localizada em /usr/local/bin/perl
.
Eu tive esse problema ao instalar outros aplicativos também, tive que editar manualmente os caminhos do intérprete.
Como você lida com situações como essas?
EDIT: Acabei de notar que temos duas cópias do perl no servidor, uma na localização padrão, em / usr / local / bin / perl, mas which perl
retorna o caminho anterior.
Btw, aqui está o erro que recebo quando executo o script perl do bugzilla
bash: ./checksetup.pl: /usr/bin/perl: bad interpreter: Permission denied
Você pode criar um link usando ln que vincula / usr / bin / perl a / usr / local / bin / perl
ln -s /usr/local/bin/perl /usr/bin/perl
Fazemos isso no meu ambiente: deixamos o sistema perl em / usr / bin / perl e instalamos nosso próprio interpretador em / usr / local / bin / perl; isso nos permite manter um perl confiável que sabemos que as atualizações do sistema operacional não vão embora.
Eu diria que a maneira mais fácil de contornar esse problema é evitar a linha shebang e invocar esses scripts usando o intérprete perl que você quer que sejam executados:
/usr/local/bin/perl /path/to/someBugzillaScript.pl
Isso permite que você controle seu ambiente de execução sem ter que fazer alterações no nível do sistema para acomodar o pacote do Bugzilla.
Tags bash installation perl scripting