• 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
  • 相关阅读:
    Code review
    一点心得
    有关双向追踪性的一点感觉
    测试用例分析的一点心得
    js简单的抽屉菜单
    新的感受
    linux的VPS如何分区
    PHP中Unicode转码和解码的实现
    xampp安装及配置
    js Unicode编码转换
  • 原文地址:https://www.cnblogs.com/wuxun1997/p/7216029.html
Copyright © 2020-2023  润新知