我最近在Ubuntu 8.04服务器上编译了Ruby Enterprise Edition(REE)。
我想更新我的path,以确保这个新版本的Ruby(在/opt/ruby_ee/bin )取代/usr/local/bin的旧版本。 (尽pipe如此,我仍然想要旧版本。)
我想这些PATH更改影响所有用户和crontabs。
尝试解决scheme#1:
REE文档build议将REE bin文件夹放置在/etc/environment中的全局PATH开头。 我改变了这个文件中的PATH来读取:
PATH="/opt/ruby_ee/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
这完全不影响我的PATH 。
试图解决scheme2:
接下来,我按照这些说明更新了/etc/login.defs和/etc/crontab的PATH设置。 (我没有改变/etc/sudoers 。)
即使注销并重新启动服务器,也不会影响我的PATH 。
其他信息:
echo $PATH ”和“ ruby -v ”进行testing。 .bashrc不覆盖我的path。 你有没有尝试改变默认的bashrc? 这应该位于/ etc / bashrc或/etc/bash.bashrc(我认为这是Ubuntu中的第二个)。 然后在您的主目录中,确保您的.bash_profile包含:
if [ -f /etc/bash.bashrc ]; then . /etc/bash.bashrc fi
这将确保系统定义的variables读入用户的shell。 这个if语句应该默认包含在当你adduser (我知道它在RHEL中)时创build的.bash_profile中。
只是要清楚,直到你打开一个新的shell /再次login/etc/environment才会被加载。
你注销了吗?