J'ai installé RHSCL 2 en utilisant l'url suivante:
en utilisant le gestionnaire d'abonnement RedHat.
J'ai ensuite couru yum remove php*
suivi deyum install rh-php56
Tout s'est bien passé sauf que maintenant PHP ne se trouve nulle part. J'ai ensuite couru find / -name php
et trouvé rh-php56
dans les répertoires suivants:
/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
Quelle est la meilleure façon d'obtenir ces fichiers binaires dans /usr/bin
ou tout autre répertoire généralement disponible à l'échelle mondiale pour tous les utilisateurs?
Ai-je raté une étape lors de l'installation des packages, c'est pourquoi il n'est pas disponible dans le monde? Ou est-ce exactement ce qui se passe lors de l'utilisation des RHSCL?
J'ai testé les fichiers binaires dans ces dossiers et ils fonctionnent lorsque je lance php -v
donc cela fonctionne bien.
Ma première pensée est de juste cp
entrer dans /bin
ou /usr/bin
mais peut-être y a-t-il une manière officielle de faire ce que je demande?
Éditer
Je ne peux pas commenter, pas de représentant ... du chapitre 3 du lien que j'ai publié, il est dit que les packages de collecte de logiciels doivent être exécutés comme suit:
scl enable rh-php56 'php -v'
Ce qui fonctionne ... mais comment puis-je le faire fonctionner pour tous les utilisateurs comme $ php -v
sans commandes supplémentaires. J'ai besoin des binaires php disponibles dans le monde entier pour que les serveurs web puissent l'utiliser et les utilisateurs ssh avec des shells normaux.
la source
scl enable rh-php56 command
, ce qui est compliqué. L'activer globalement via la réponse de @ antofthy est beaucoup plus élégant.Réponses:
La façon d'importer une collection de logiciels dans votre shell actuel (et non de lancer un sous-shell) est de source le fichier "enable".
Par exemple pour rh-php56 sur une machine Redhat 7 ...
Vous pouvez maintenant exécuter "php" ou lire les pages de manuel "man php" normalement.
qui ajoutera les variables d'environnement appropriées à l'environnement shell actuel. Les utilisateurs individuels peuvent le faire dans leurs fichiers .bashrc, ce qui leur permet d'être disponible à partir de SSH (shells non interactifs)
Vous pouvez également copier (ou créer un lien symbolique) le fichier d'activation dans /etc/profile.d/ avec un suffixe ".sh" pour l'activer automatiquement pour TOUS les utilisateurs.
Par exemple
Faire attention à cela si plus que l'environnement est nécessaire (comme les démons?). Ou si plusieurs versions de ce logiciel sont présentes sur un système (pour une compatibilité descendante avec d'autres logiciels / services), car il peut y avoir une interaction entre les versions. De plus, les utilisateurs peuvent ne pas vouloir la «dernière» version ou ne pas comprendre pourquoi le système «de base» (EG: / etc configs) n'affecte pas la version de la collection de logiciels.
Anthony Thyssen (un très ancien administrateur système)
la source
source scl_source enable python33