2014-01-21 5 views
18

Gibt es eine Möglichkeit, benutzerdefinierte Softwaresammlungen für RedHat dauerhaft zu aktivieren?RHEL scl dauerhaft aktivieren

Ich habe eine scl installiert, um python27 in RHEL6 bereitzustellen und möchte nicht die benutzerdefinierte scl jedes Mal aktivieren müssen.

Antwort

25

Nun, Sie könnten Ihrem Startskript etwas hinzufügen, um das Aktivierungsskript zu erhalten.

Eg Ihren .bash_profile (Anmerkung Raum zwischen Anfang dot und /)

. /opt/rh/python27/enable 
+7

Putting es ist zu /etc/profile.d/ [viel bessere Lösung] (http://developerblog.redhat.com/ 2014/03/19/permanent-aktivieren-einer-software-sammlung /). Was ist, wenn die Person kein Bash-Benutzer ist? – SummerBreeze

4

hinzufügen Diese Option klingt für mich gefährlich für root. Ich würde denken, dass etwas wie das Folgende sicherer und passender wäre:

Sie können eine Funktion erstellen, die Befehlszeilenoptionen verwendet. Stellen Sie sich das als Alias ​​auf Steroiden vor. Fügen Sie den folgenden in Ihre .bashrc

python27() { 
scl enable python27 “python $*” 
} 

Dann Test:

python27 –version 
Python 2.7.5 

Dies ist nicht mit dem Zauber Linie in Skripten hilft, aber wird es einfacher, Skripte zu nennen:

[[email protected] ~]$ cat script.py 
#!/usr/bin/env python27 

import sys 

print “Hello, World!”, sys.version 

Rufen Sie es normal und beachten Sie, die Standardinstallation von Python wird verwendet:

[[email protected] ~]$ ./script.py 
Hello, World! 2.6.6 (r266:84292, Sep 4 2013, 07:46:00) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] 

es mit unserem alias Rufen, und beachten Sie, dass Python 2.7 verwendet wird:

[[email protected] ~]$ python27 script.py 
Hello, World! 2.7.5 (default, May 23 2013, 06:08:09) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] 
+0

Es scheint zu brechen, wenn script.py in einen Namen mit einem Leerzeichen wie "abc def.py" umbenannt wird – mogul