Постоянно включить 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 не используйте какое-либо решение, которое порождает новую оболочку, потому что оно может разбить вас и помешать вам войти в систему
- для получения дополнительной информации о том, как избежать ForkBomb, читайте решение на unix.stackexchange.comздесь1 и решение на serverfault.comздесь2