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都有权使用这些环境变量,可能会给系统带来安全性 ...
随机推荐
- Redis单线程原理
redis是以socket方式通信,socket服务端可同时接受多个客户端请求连接,也就是说,redis服务同时面对多个redis客户端连接请求,而redis服务本身是单线程运行. 假设,现在有A,B ...
- mysql——主键自动增长&唯一索引
首先说一下主键和唯一索引的区别 主键:一个数据库的一张表有且仅有一个主键,而且主键不能重复 唯一索引:一个数据库的一张表上唯一索引可以有多个,只是所在唯一索引上的值不能重复,这一点和主键一样 下面我们 ...
- PAT1073. Scientific Notation (20)
#include <iostream> using namespace std; string a; int expo; int dotPos; int expoPos; int i; i ...
- java实现定时任务的三种方法 - 转载
java实现定时任务的三种方法 /** * 普通thread * 这是最常见的,创建一个thread,然后让它在while循环里一直运行着, * 通过sleep方法来达到定时任务的效果.这样可以快速简 ...
- Minimum Path Sum,最短路径问题,动态规划
问题描述:Given a m x n grid filled with non-negative numbers, find a path from top left to bottom right ...
- BZOJ3669/UOJ3 魔法森林(LCT)
本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000 作者博客:http://www.cnblogs.com/ljh2000-jump/ ...
- Android View的生命周期
View生命周期相关方法 View是什么?官方源码注释中的定义:这个类是用户接口的基础构件.View表示屏幕上的一块矩形区域,负责绘制这个区域和事件处理. View是所有widget类的基类,Widg ...
- 用fail2ban阻止ssh暴力破解root密码
安装fail2ban工具来实现防暴力破解,防止恶意攻击,锁定恶意攻击IP. 1.如果是centos系统,先yum安装fail2ban [root@VM_152_184_centos /]# yum - ...
- LoadRunner压力测试实际运用的使用方法
LoadRunner 是一种预测系统行为和性能的工业标准级负载测试工具.通过以模拟上 千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner 能够对整个 企业架构进行测试. 方 ...
- dojo学习教程
Dojo 作为最著名的 Ajax 开源项目之一,不仅让 Web 程序员可以免费获得和使用其框架进行 Web 应用的开发,更吸引了大量的开发者对其不断的扩充,开发新的组件.DojoX 就是在这样的开发社 ...