He instalado RHSCL 2 usando la siguiente URL:
utilizando el administrador de suscripciones de RedHat.
Luego corrí yum remove php*
seguido poryum install rh-php56
Todo salió bien excepto que ahora PHP no se encuentra en ninguna parte. 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?
¿Me perdí algún paso al instalar los paquetes y por eso no está disponible globalmente? ¿O es esto exactamente lo que sucede cuando se usan RHSCL?
Probé los archivos binarios en esas carpetas y funcionan cuando los ejecuto, php -v
por lo que funciona bien.
Mi primer pensamiento es simplemente cp
entrar /bin
o, /usr/bin
¿tal vez haya una forma oficial de hacer lo que estoy pidiendo?
editar
No puedo comentar, no hay representante... 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 cual funciona... sin embargo, ¿cómo hago para que se ejecute para todos los usuarios $ php -v
sin comandos adicionales? Necesito los binarios de php disponibles globalmente para que los servidores web puedan usarlos y los usuarios de ssh con shells normales.
Respuesta1
La forma de importar una colección de software a su shell actual (no iniciar un subshell) es obtener el archivo "habilitar".
Por ejemplo, para rh-php56 en una máquina Redhat 7...
fuente /opt/rh/rh-php56/enable
Ahora puede ejecutar "php" o leer las páginas de manual "man php" normalmente.
eso agregará las variables de entorno apropiadas al entorno de shells actual. Los usuarios individuales pueden hacer esto en sus archivos .bashrc, lo que permite que esté disponible desde SSH (shells no interactivos)
También puede copiar (o vincular simbólicamente) el archivo de habilitación en /etc/profile.d/ con un sufijo ".sh" para habilitarlo automáticamente para TODOS los usuarios.
Por ejemplo
ln -s /opt/rh/rh-php56/enable /etc/profile.d/rh-php56.sh
Tenga cuidado al hacer esto si se necesita algo más que un entorno (¿como demonios?). O si hay varias versiones de ese software presentes en un sistema (para compatibilidad con otros software/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 en cuanto a por qué el sistema "base" (por ejemplo, /etc configs) no afecta la versión de la colección de software.
Anthony Thyssen (Un administrador de sistemas muy antiguo)