He instalado RHSCL 2 usando la siguiente url:
utilizando el administrador de suscripción de RedHat.
Luego corrí yum remove php*
seguido deyum install rh-php56
Todo salió bien, excepto que ahora PHP no se encuentra en ningún lado. Luego corrí find / -name php
y encontré rh-php56
en los siguientes directorios:
/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
¿Cuál es la mejor manera de obtener estos archivos binarios /usr/bin
o cualquier otro directorio que generalmente esté disponible globalmente para todos los usuarios?
¿Perdí un paso al instalar los paquetes y por eso no está disponible a nivel mundial? ¿O es esto lo que sucede cuando se usan RHSCL?
He probado los archivos binarios en esas carpetas y funcionan cuando ejecuto, php -v
por lo que funciona bien.
¿Mi primer pensamiento es simplemente cp
entrar /bin
o /usr/bin
quizás hay una forma oficial de hacer lo que estoy pidiendo?
editar
No puedo comentar, no rep ... del capítulo 3 del enlace que publiqué, dice que los paquetes de recopilación de software deben ejecutarse así:
scl enable rh-php56 'php -v'
Lo que funciona ... sin embargo, ¿cómo hago para que se ejecute para todos los usuarios $ php -v
sin comandos adicionales? Necesito los binarios php disponibles a nivel mundial para que los servidores web puedan usarlo y los usuarios ssh con shells normales.
fuente
scl enable rh-php56 command
, lo cual es complicado. Habilitarlo globalmente a través de la respuesta de @ antofthy es mucho más elegante.Respuestas:
La forma de importar una colección de software en su shell actual (no iniciar un sub-shell) es obtener el archivo "enable".
Por ejemplo para rh-php56 en una máquina Redhat 7 ...
Ahora puede ejecutar "php" o leer las páginas de manual "man php" de forma normal.
eso agregará las variables de entorno apropiadas al entorno actual de shells. Los usuarios individuales pueden hacer esto en los archivos .bashrc, lo que permite que esté disponible desde SSH (shells no interactivos)
También puede copiar (o enlace simbólico) el archivo de habilitación en /etc/profile.d/ con un sufijo ".sh" para habilitarlo automáticamente para TODOS los usuarios.
Por ejemplo
Es útil hacer esto si se necesita algo más que medio ambiente (¿como demonios?). O si hay varias versiones de ese software en un sistema (por compatibilidad con otros programas / servicios), ya que puede haber interacción entre las versiones. Además, es posible que los usuarios no quieran la versión 'más reciente' o se confundan sobre por qué el sistema 'base' (configuraciones de EG: / etc) no afecta la versión de la colección de software.
Anthony Thyssen (un administrador de sistema muy antiguo)
fuente
source scl_source enable python33