Недавно я скомпилировал Ruby Enterprise Edition (REE) на сервере Ubuntu 8.04.
Я хотел бы обновить свой PATH, чтобы обеспечить эту новую версию Ruby (находится в /opt/ruby_ee/bin
) заменяет старую версию в /usr/local/bin
. (Тем не менее, мне все еще нужна старая версия.)
Я хотел бы, чтобы эти изменения PATH затронули всех пользователей и crontab.
Попытка решения №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
"..bashrc
не отменяет мою PATH.Вы пробовали изменить 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
не загружается, пока вы снова не откроете новую оболочку / не войдете в систему.
Вы вышли из системы и вошли?