zoukankan      html  css  js  c++  java
  • Linux环境变量从用户配置改为系统配置

      部署了一个新的tomcat到一个新的用户下,发下启动失败了

    /home/personal/apache-tomcat/bin/catalina.sh: line 434: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.102-4.b14.el7.x86_64/jre/bin/java: No such file or directory

      这里日志说启动时找java虚拟机时没找到,去看了下,果然不对

    [personal@ZJHZ-CMREAD-TEST126 /]$ cd usr/lib/jvm
    [personal@ZJHZ-CMREAD-TEST126 jvm]$ ll
    total 0
    drwxr-xr-x 3 root root 16 Mar 17 08:46 java-1.7.0-openjdk-1.7.0.111-2.6.7.2.el7_2.x86_64

      换个好的环境看了下环境变量,JAVA_HOME是/usr/jdk1.8.0_102,接着去系统变量 etc/profile里看

    JAVA_HOME=/usr/jdk1.8.0_102
    JAVA_BIN=/usr/jdk1.8.0_102/bin
    ANT_HOME=/home/cmreadwh/apache-ant-1.10.1
    PATH=$JAVA_HOME/bin:$ANT_HOME/bin:$PATH
    CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

      很明显其他用户直接读取了系统配置的环境变量,那么我们来比较下两个用户之间环境变量配置的.bashrc文件内容的区别:

    好的

    # .bashrc
    
    # Source global definitions
    if [ -f /etc/bashrc ]; then
            . /etc/bashrc
    fi
    
    # Uncomment the following line if you don't like systemctl's auto-paging feature:
    # export SYSTEMD_PAGER=
    
    # User specific aliases and functions

    有问题的

    # .bashrc
    
    # Source global definitions
    if [ -f /etc/bashrc ]; then
            . /etc/bashrc
    fi
    
    # Uncomment the following line if you don't like systemctl's auto-paging feature:
    # export SYSTEMD_PAGER=
    
    # User specific aliases and functions
    
    source ~/apache-tomcat/cfg/cshrc

      最后一行覆盖了前面的环境变量设置,我们来看看apache-tomcat/cfg/cshrc就知道了

    export JAVA_HOME="/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.102-4.b14.el7.x86_64"
    export CATALINA_TMPDIR="/tmp"
    export JAVA_BINDIR="${JAVA_HOME}/bin"
    export JDK_HOME="${JAVA_HOME}"
    export SDK_HOME="${JAVA_HOME}"
    export PATH="${JAVA_HOME}/bin:${HOME}/bin:/usr/local/bin:/usr/bin:/usr/X11R6/bin:/bin:/usr/games:/opt/gnome/bin:/opt/kde3/bin:$PATH"
    export JAVA_ROOT="${JAVA_HOME}"
    export JRE_HOME="${JAVA_HOME}/jre"
    export CATALINA_HOME="${HOME}/apache-tomcat"
    export CLASSPATH=".:${JAVA_HOME}/lib/jt.jar:${JAVA_HOME}/lib/tools.jar:${JAVA_HOME}/jre/lib:${CATALINA_HOME}/webapps/ues/WEB-INF/classes"
    
    #setenv LC_ALL zh_CN.GBK
    
    alias cfg="cd ${CATALINA_HOME}/cfg"
    alias webapps="cd ${CATALINA_HOME}/webapps"
    alias class="cd ${CATALINA_HOME}/webapps/ROOT/WEB-INF/classes"
    alias tlog="cd  ${CATALINA_HOME}/logs"
    alias logs="cd ${CATALINA_HOME}/logs"
    alias local="cd ${CATALINA_HOME}/local"
    alias catlog="tail -f ${CATALINA_HOME}/logs/catalina.out"
    alias version="java Version"
    alias start="${CATALINA_HOME}/cfg/iread.sh start"
    alias stop="${CATALINA_HOME}/cfg/iread.sh stop"
    alias restart="${CATALINA_HOME}/cfg/iread.sh restart"
    alias status="${CATALINA_HOME}/cfg/iread.sh status"

       为了使用系统环境变量,只要把有问题的用户里.bashrc文件的最后一行注掉就可以了,切记为了使新环境变量生效需要重新source一下

    source ~/.bashrc
  • 相关阅读:
    Bzoj4872: [Shoi2017]分手是祝愿
    大数据应用价值研究员--数据可视化工程师
    Angular Redux
    Reactive Redux
    Testing a Redux & React web application
    [转]于Fragment和Activity之间onCreateOptionsMenu的问题
    [转]探究java IO之FileInputStream类
    深入解析FileInputStream和FileOutputStream
    [转]慎用InputStream的read()方法
    [转]Android
  • 原文地址:https://www.cnblogs.com/wuxun1997/p/7216029.html
Copyright © 2011-2022 走看看