Постоянно включить RHEL scl

Есть ли способ навсегда включить пользовательские коллекции программ для RedHat?

Я установил scl для предоставления python27 в RHEL6 и не хочу каждый раз включать пользовательский scl.

3 ответа

Решение

Ну, вы могли бы добавить что-то в свой скрипт запуска, чтобы получить исходный сценарий включения.

Например, добавить к вашему .bash_profile (обратите внимание на пробел между начальным dot а также /)

. /opt/rh/python27/enable

Эта опция звучит опасно для меня для root. Я думаю, что-то вроде следующего будет более безопасным и более подходящим:

Вы можете создать функцию, которая принимает параметры командной строки. Думайте об этом как псевдоним на стероидах. Добавьте следующее в ваш.bashrc

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

Затем проверьте:

python27 –version
Python 2.7.5

Это не поможет с вашей магической линией в сценариях, но облегчит вызов сценариев:

[smccarty@keith ~]$ cat script.py
#!/usr/bin/env python27

import sys

print “Hello, World!”, sys.version

Назовите его нормальным и обратите внимание, что по умолчанию используется установка python:

[smccarty@keith ~]$ ./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)]

Назовите его с нашим псевдонимом и обратите внимание, что используется Python 2.7:

[smccarty@keith ~]$ 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)]

В двух словах:source scl_source enable name

  • найтиnameты можешь сделатьscl --list



более длинная история:

В вашей~/.bashrcили~/.bash_profileили/etc/profile.d/enable_name.sh

      if command -v scl_source &>/dev/null; then
    source scl_source enable name
fi

Совет шляпы для:

ps не используйте какое-либо решение, которое порождает новую оболочку, потому что оно может разбить вас и помешать вам войти в систему

ps SCL исчезает в версии EnterpriseLinux >= el8

Другие вопросы по тегам