虚拟机里面装了ubuntu18,安装jdk和hadoop,在/etc/enviroment中配置了环境变量JAVA_HOME和HADOOP_HOME,可是每次开机后都必须执行一次source /etc/enviroment才能使用,不然提示找不到,怎么解决啊

解决方案 »

  1.   

    没时间装一次验证,给点思路吧:
    1、/etc/enviroment是由pam_env生效的, 所以检查/etc/pam.d/中的comm-*文件,看看有没有引用pam_env.so
    2、全局环境变量也可以在/etc/profile 和 /etc/profile.d/中进行设置
    3、启动Hadoop的环境变量也不是必须全局的,所以在启动用户的~/.bash_profile那里设置也可以
    4、甚至不需要环境变量,在启动脚本的前面设置这个变量也是可以的,而且完备的启动脚本通常包含配置文件,关键你会看...
      

  2.   

    系统打开后,echo $PATH后,环境变量会多一个/snap/bin,提交envirment后就会消失,如果我在执行一次source /etc/profile,/snap/bin又会出来profile中是一串if脚本,/snap/bin下没有东西应该是/snap/bin这个目录,现在不方便看
      

  3.   

    系统打开后,echo $PATH后,环境变量会多一个/snap/bin,提交envirment后就会消失,如果我在执行一次source /etc/profile,/snap/bin又会出来profile中是一串if脚本,/snap/bin下没有东西应该是/snap/bin这个目录,现在不方便看扯到PATH干啥? 环境变量可以是任意东西,PATH是,JAVA_HOME是,其它任意合法变量名都可以是...
      

  4.   

    的确是在/etc/profile里加,如果指定用户的话,只需要在/home/{}/.bashrc 中加。
    直接加到最后一行即可。