Instalei o RHSCL 2 usando o seguinte URL:
usando o gerenciador de assinaturas RedHat.
Eu então corri yum remove php*
seguido poryum install rh-php56
Tudo correu bem, exceto que agora o PHP não é encontrado em lugar algum. Eu executei find / -name php
e encontrei rh-php56
nos seguintes diretórios:
/var/opt/rh/rh-php56/lib/php
/opt/rh/rh-php56/register.content/var/opt/rh/rh-php56/lib/php
/opt/rh/rh-php56/root/usr/bin/php
/opt/rh/rh-php56/root/usr/lib64/php
/opt/rh/rh-php56/root/usr/share/php
Qual é a melhor maneira de obter esses binários /usr/bin
ou qualquer outro diretório que geralmente esteja disponível globalmente para todos os usuários?
Perdi uma etapa ao instalar os pacotes e é por isso que não está disponível globalmente? Ou é exatamente isso que acontece ao usar RHSCLs?
Eu testei os binários nessas pastas e eles funcionam quando eu executo, php -v
portanto está funcionando bem.
Meu primeiro pensamento é apenas cp
entrar /bin
ou /usr/bin
mas talvez haja uma maneira oficial de fazer o que estou pedindo?
editar
Não posso comentar, não rep ... do capítulo 3 do link que eu postei, ele diz que os pacotes de coleta de software devem ser executados da seguinte maneira:
scl enable rh-php56 'php -v'
O que funciona ... no entanto, como posso executá-lo para todos os usuários, $ php -v
sem comandos adicionais. Eu preciso dos binários php disponíveis globalmente para que os servidores da web possam usá-lo e usuários ssh com shells normais.
fonte
scl enable rh-php56 command
, o que é complicado. Habilitar globalmente via resposta da @ antofthy é muito mais elegante.Respostas:
A maneira de importar uma coleção de software para o seu shell atual (não iniciar um sub-shell) é obter o arquivo "enable".
Por exemplo, para rh-php56 em uma máquina Redhat 7 ...
Agora você pode executar "php" ou ler as páginas de manual "man php" normalmente.
que adicionará as variáveis de ambiente apropriadas ao ambiente de shells atual. Usuários individuais podem fazer isso nos arquivos .bashrc, permitindo que ele esteja disponível no SSH (shells não interativos)
Você também pode copiar (ou vincular) o arquivo de ativação para /etc/profile.d/ com o sufixo ".sh" para ativá-lo automaticamente para TODOS os usuários.
Por exemplo
Seja cuidadoso ao fazer isso se mais do que o ambiente for necessário (como daemons?). Ou se várias versões desse software estiverem presentes em um sistema (para compatibilidade com outros softwares / serviços), pois pode haver interação entre as versões. Os usuários também podem não querer a versão 'mais recente' ou ficar confusos quanto ao motivo pelo qual o sistema 'base' (EG: / etc configs) não afeta a versão da coleção de software.
Anthony Thyssen (Um administrador de sistema muito antigo)
fonte
source scl_source enable python33