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
Linux环境变量从用户配置改为系统配置的更多相关文章
- Linux中环境变量文件及配置
Linux中环境变量文件及配置 一.环境变量文件介绍 转自:http://blog.csdn.net/cscmaker/article/details/7261921 Linux中环境变量包括系统 ...
- Linux中环境变量文件及配置(转载)
一.环境变量文件介绍 转自:http://blog.csdn.net/cscmaker/article/details/7261921 Linux中环境变量包括系统级和用户级,系统级的环境变量是每个登 ...
- Linux环境变量配置全攻略
Linux环境变量配置 在自定义安装软件的时候,经常需要配置环境变量,下面列举出各种对环境变量的配置方法. 下面所有例子的环境说明如下: 系统:Ubuntu 14.0 用户名:uusama 需要配置M ...
- Linux环境变量配置方法
Linux上环境变量配置分为设置永久变量和临时变量两种.环境变量设置方法同时要考虑环境Shell类型,不同类型的SHELL设置临时变量方法和设置永久变量对应的配置文件不同.Linux环境变量本身配置过 ...
- Linux 环境变量配置(Nodejs/MongoDB/JDK/Nginx)
一.环境变量配置 注:配置环境变量的文件 全局变量(系统级别): /etc/bashrc /etc/profile /etc/environment 用户变量(用户级别): ~/.bash_profi ...
- linux 环境变量配置方式
linux 环境变量可以在多个文件中配置 说明: linux bash 运行模式分为两种: login shell 和non-login shell, 两种登录模式启动是加载的配置文件不一样. 1. ...
- Linux 环境变量配置的 6 种方法,建议收藏
关注「开源Linux」,选择"设为星标" 回复「学习」,有我为您特别筛选的学习资料~ Linux环境变量配置 在自定义安装软件的时候,经常需要配置环境变量,下面列举出各种对环境变量 ...
- 超详干货!Linux 环境变量配置全攻略
点击上方"开源Linux",选择"设为星标" 回复"学习"获取独家整理的学习资料! Linux环境变量配置 在自定义安装软件的时候,经常需要 ...
- 三种配置linux环境变量的方法(以java为例)
1.先确认是否为openjdk:参考 2. 修改/etc/profile文件 如果你的计算机仅仅作为开发使用时推荐使用这种方法,因为所有用户的shell都有权使用这些环境变量,可能会给系统带来安全性 ...
随机推荐
- LeetCode——Number Complement
LeetCode--Number Complement Question Given a positive integer, output its complement number. The com ...
- coredump调试小结
在已经启动的进程中使用gdb,用gdb attach 查看so文件中的函数列表 nm -D *.so 关于c.c++类的gdb调试,强烈推荐一本书:debug hack
- Dijkstra算法 - 最短路径算法
2017-07-26 22:30:45 writer:pprp dijkstra算法法则:设置顶点集合S,首先将起始点加入该集合,然后根据起始点到其他顶点的路径长度, 选择路径长度最小的顶点加入到集合 ...
- jdbc例子
public class ConnMysql { public static void main(String[] args) throws ClassNotFoundException, SQLEx ...
- Java中sleep()与wait()的区别
第一种解释: 功能差不多,都用来进行线程控制,他们最大本质的区别是:sleep()不释放同步锁,wait()释放同步缩. 还有用法的上的不同是:sleep(milliseconds)可以用 ...
- Android获取所有应用的资源id和对应的uri
背景 在某些应用中,为了实现应用apk资源放入重复利用,或者使用反射得到本应用的资源,需要使用反射方式获得,但Resources类中也自带了这种获取方式,并且功能更加强大 你可以获取string,co ...
- Django进阶Model篇003 - 数据库同步技巧
一.认识一个目录 目录名:migrations 作用:用来存放通过makemigrations命令生成的数据库脚本,不熟悉的情况下,里面生成的脚本不要轻易修改.app目录下必须要有migrations ...
- 获得Ztree选择的节点
$('#save').click(function(){ if($("#roleForm").form("validate")){ var treeObj = ...
- 四十 Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)倒排索引
倒排索引 倒排索引源于实际应用中需要根据属性的值来查找记录.这种索引表中的每一项都包括一个属性值和具有该属性值的各记录的地址.由于不是由记录来确定属性值,而是由属性值来确定记录的位置,因而称为倒排索引 ...
- gulp-rev 添加版本号
打开node_modules\gulp-rev\index.js 第144行 manifest[originalFile] = revisionedFile; 更新为: manifest[origin ...