Изменение переменной среды PATH для всех пользователей. (Ubuntu)
Недавно я скомпилировал Ruby Enterprise Edition (REE) на сервере Ubuntu 8.04.
Я хотел бы обновить мой PATH, чтобы обеспечить эту новую версию Ruby (находится в /opt/ruby_ee/bin
) заменяет старую версию в /usr/local/bin
, (Я все еще хочу старую версию, хотя.)
Я хотел бы, чтобы эти изменения PATH затронули всех пользователей и crontabs.
Попытка решения № 1:
Документация REE рекомендует размещать папку bin REE в начале глобальной переменной PATH в /etc/environment
, Я изменил путь в этом файле, чтобы прочитать:
PATH="/opt/ruby_ee/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
Это не повлияло на мой PATH
совсем.
Попытка решения № 2:
Затем я следовал этим инструкциям и обновил настройку PATH в /etc/login.defs
а также /etc/crontab
, (Я не менял /etc/sudoers
.)
Это не повлияло на мой PATH
либо даже после выхода из системы и перезагрузки сервера.
Дополнительная информация:
- Кажется, у меня возникла та же проблема, описанная здесь.
- Я тестирую с помощью команд
echo $PATH
" а также "ruby -v
". - Моя оболочка bash. мой
.bashrc
не отменяет мой путь - Да, я слышал о проекте Ruby Version Manager.;)
2 ответа
Вы пытались изменить bashrc по умолчанию? Он должен быть расположен в /etc/bashrc или /etc/bash.bashrc (я думаю, что это второй в Ubuntu). Затем в вашем домашнем каталоге убедитесь, что ваш.bash_profile содержит:
if [ -f /etc/bash.bashrc ]; then
. /etc/bash.bashrc
fi
Это обеспечит считывание переменных, определенных для всей системы, в оболочку пользователя. Этот оператор if должен быть включен по умолчанию в файл.bash_profile, созданный при adduser
(Я знаю, что это в RHEL).
Просто быть чистым, /etc/environment
не загружается, пока вы не откроете новую оболочку / войдите снова.
Вы выходили из системы и включались?