Linux中环境变量文件及配置

简介: 一、环境变量文件介绍 转自:http://blog.csdn.net/cscmaker/article/details/7261921 Linux中环境变量包括系统级和用户级,系统级的环境变量是每个登录到系统的用户都要读取的系统变量,而用户级的环境变量则是该用户使用系统时加载的环境变量。

一、环境变量文件介绍

转自:http://blog.csdn.net/cscmaker/article/details/7261921

Linux中环境变量包括系统级和用户级,系统级的环境变量是每个登录到系统的用户都要读取的系统变量,而用户级的环境变量则是该用户使用系统时加载的环境变量。
所以管理环境变量的文件也分为系统级和用户级的,下面贴一个网上找到的讲的比较明白的文件介绍(略作修改)[1]:

1.系统级:
(1)/etc/profile:该文件是用户登录时,操作系统定制用户环境时使用的第一个文件,应用于登录到系统的每一个用户。该文件一般是调用/etc/bash.bashrc文件。
/etc/bash.bashrc:系统级的bashrc文件。
(2)/etc/environment:在登录时操作系统使用的第二个文件,系统在读取你自己的profile前,设置环境文件的环境变量。

2.用户级(这些文件处于家目录下):
(1)~/.profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。这里是推荐放置个人设置的地方
(2)~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。不推荐放到这儿,因为每开一个shell,这个文件会读取一次,效率肯定有影响。
~/.bash_profile or ~./bash_login:这里没有引用作者的,下面会提到
~/.pam_environment:用户级的环境变量设置文件,没有做测试,不知道管不管用。


通过上面的文件介绍,就能明白我们需要设置环境变量的时候,需要修改什么文件,要想对所有的用户生效,那就需要设置系统级的环境变量。反之,需要修改用户级的文件(最好是修改.profile文件,理由上面已经讲了)。

另外,我使用的是Ubuntu10.04,之前在查找资料设置用户级环境变量的时候,有资料说要修改~.bash_profile文件,但是在ubuntu10.04系统中是没有该文件。经查找,在ubuntu官网[2]上找到了这个文件的说明:

~/.bash_profile or ~./bash_login - If one of these file exist, bash executes it rather then "~/.profile" when it is started as a login shell. (Bash will prefer "~/.bash_profile" to "~/.bash_login"). However, these files won't influence a graphical session by default.

意思应该是说当这个文件存在时,在登录shell时会读取./bash_profile文件,而不是.profile文件。我认为该文件实现的目的 跟.profile文件是一样的,当查找的资料中需要你修改.bash_profile文件,但却你没有该文件的时候,也可以修改.profile来完成 实现。

[1]http://cab402.appspot.com/2010/05/1/UbuntuEnvironmentVariablesSet.html

[2]https://help.ubuntu.com/community/EnvironmentVariables

二、配置环境变量实战

1.配置java环境变量

(1)首先在官方网站上下载jdk安装文件,我下载的为:jdk-7u5-linux-i586.tar.gz,当然也可以下载.bin格式的文件,但是这种文件与本文介绍的tar格式的文件在解压缩方面有所不同,这里不再详细介绍;

(2)解压缩该文件,解压后的文件名为:jdk1.7.0_05;将其拷贝到一个文件目录,我放入的是:/home/stopit/software目录,所以当前jdk路径为/home/stopit/software/jdk1.7.0_05,这里将/home/stopit/software/jdk1.7.0_05用xxx替代;

(3)根据上文介绍的几个linux环境变量文件,我们选择profile文件写入我们的环境变量;使用 suodo gedit /etc/proifle  命令打开该文件,并输入以下命令:

#修改java运行环境
export JAVA_HOME="xxx"
export PATH="$PATH:$JAVA_HOME/bin"
export JRE_HOME="$JAVA_HOME/jre"
export CLASSPATH=".:$JAVA_HOME/lib:$JRE_HOME/lib"

(4)修改完成后,使用source /etc/profile 命令进行更新;

(5)下面这几步比较重要,因为在许多linux系统中都预装了openjdk,所以即使上面进行了这些设置,系统默认的还不是我们要设置的内容;如果要真正使用我们自己的jdk,还需要一下步骤:

sudo update-alternatives --install /usr/bin/java java xxx/bin/java 300

sudo update-alternatives --install /usr/bin/javac javac xxx/bin/javac 300

(这里的300只是标识一下,没什么意义,只是下一步要用到)

 

sudo update-alternatives --config java

执行这步会列出系统上的所有已安装的java,然后自己选择,即选最后为300的那个

 

sudo update-alternatives --config javac

同上

注意:有些文章上说仅仅使用一下语句即可:
sudo update-alternatives –config java,笔者没有尝试过!

(6)大功告成,使用java -version 命令来查看我们的java环境变量,显示如下内容:

java version "1.7.0_05"
Java(TM) SE Runtime Environment (build 1.7.0_05-b06)
Java HotSpot(TM) Server VM (build 23.1-b03, mixed mode)

2.配置tomcat环境变量

(1)从官方网站上下载tomcat软件包。

http://tomcat.apache.org/

点击左侧的 download的一个版本,我选择的是 tomcat6.x,你可以根据自己的实际情况进行选择安装,点击超连接,选择 Binary Distributions 下的tar.gz (pgp, md5) 压缩包,进行下载

(2)下载到本地后,进行解压

#tar zxvf apach-tomcat-6.0.16.tar.gz

#mv apach-tomcat-6.0.16 /usr/local

(3)进行tomcat环境的配置(前提需要安装jdk)

sudo geidt /etc/profile

输入以下内容

export TOMCAT_HOME=xx

xx同上,为你的tomcat安装路径

保存退出

 

(4)# source /etc/profile //让当前配置立即生效

 

(5)启动tomcat服务器,运行如下内容

sudo xx/bin/startup.sh

注:(不可手动双击文件下的startup.sh执行),暂时不知是否可行

我的电脑上会出现如下内容:

Using CATALINA_BASE: /usr/local/apache-tomcat-6.0.16

Using CATALINA_HOME: /usr/local/apache-tomcat-6.0.16

Using CATALINA_TMPDIR: /usr/local/apache-tomcat-6.0.16/temp

Using JRE_HOME: /usr/local/jdk1.6.0_04

(6)在浏览器中输入http://localhost:8080/就可以看到tomcat的log了

tomcat的安装到此结束。

(7)如果遇到问题可参考:http://forum.ubuntu.org.cn/viewtopic.php?t=183813

 

 

 

(8)后续配置:

——停止Tomcat服务 
$sudo /opt/tomcat/bin/shutdown.sh


——获得MySQL的JDBC,在Firefox浏览器的地址栏中输入http: //dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-3.1.10.tar.gz/from/http: //mysql.cbn.net.id/以得到该软件。 


——安装JDBC 
$tar -zxvf mysql-connector-java-3.1.10.tar.gz 
$sudo cp mysql-connector-java-3.1.10/mysql-connector-java-3.1.10-bin*.jar /usr/lib/j2sdk1.5-sun/lib

——配置Tomcat的端口

Ubuntu自带的Tomcat打开的是8180端口,既不符合常规,也不利于使用。我们可以做一些简单的修改,让Tomcat使用其他的端口进行服务。在Terminal中,输入
sudo gedit /usr/share/tomcat5/conf/server.xml

在配置文件中查找
<Connector className="org.apache.coyote.tomcat5.CoyoteConnector" port="8180"

并把其中的8180替换成需要的端口。一般情况下,可以替换成80或者是8080。如果设置成80,那么在浏览器中直接输入http://localhost就可以访问到Tomcat的页面。 重新启动Tomcat生效。

——设置Tomcat管理员帐号

Tomcat的用户帐号信息都保存在tomcat-users.xml的文件中,运行
sudo gedit /usr/share/tomcat5/conf/tomcat-users.xml

在</tomcat-users>的标签前添加一行
<user username="用户名" password="密码" roles="admin,manager"/>

保存并关闭。重新运行tomcat即可输入该用户名和密码,登录Tomcat的管理页面。

——安装最新版本的Tomcat

我们接下来介绍直接从Apache Tomcat的主页上下载并使用最新版本5.5.17的Tomcat软件,该方法方便快捷而且并不影响系统的稳定性。

从tomcat的官方下载页面http://tomcat.apache.org/download-55.cgi

下载Binary->Core分类中的zip或者tar.gz包后,本地解压缩并将新生成的目录重命名为tomcat,以方便使用。将这个文件夹移动至某路径PATH/。 参考以上设置环境变量和端口设置等步骤,大功告成! 直接运行


PS,开始的时候用apt-get安装tomcat5.5,总是出现无法安装成功,在shutdown时,出来java异常,最后实在没有办法了,用
sudo apt-get remove tomcat5.5
把它给卸载了.重新下载安装,不用apt-get

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
目录
相关文章
支付宝 - 支付宝怎么解除自动续费?
支付宝 - 支付宝怎么解除自动续费?
6648 1
支付宝 - 支付宝怎么解除自动续费?
|
8月前
|
运维 监控 Kubernetes
【大模型】RAG增强检索:大模型运维的基石
RAG(检索增强生成)是一种结合大模型与外部知识库的技术,通过“先查资料再作答”的流程,解决模型幻觉、知识更新滞后等问题。其核心包括四大模块:文档处理中心、知识检索库、提问处理器和智能应答器。RAG在大模型运维中实现知识保鲜、精准控制和成本优化,同时支持动态治理、安全合规增强及运维效率提升,推动智能运维从“人工救火”向“预测性维护”演进。
2135 10
【大模型】RAG增强检索:大模型运维的基石
|
9月前
|
机器学习/深度学习 人工智能 边缘计算
DistilQwen2.5蒸馏小模型在PAI-ModelGallery的训练、评测、压缩及部署实践
DistilQwen2.5 是阿里云人工智能平台 PAI 推出的全新蒸馏大语言模型系列。通过黑盒化和白盒化蒸馏结合的自研蒸馏链路,DistilQwen2.5各个尺寸的模型在多个基准测试数据集上比原始 Qwen2.5 模型有明显效果提升。这一系列模型在移动设备、边缘计算等资源受限的环境中具有更高的性能,在较小参数规模下,显著降低了所需的计算资源和推理时长。阿里云的人工智能平台 PAI,作为一站式的机器学习和深度学习平台,对 DistilQwen2.5 模型系列提供了全面的技术支持。本文详细介绍在 PAI 平台使用 DistilQwen2.5 蒸馏小模型的全链路最佳实践。
|
10月前
|
存储 算法 Java
【JAVA】生成accessToken原理
在Java中,生成accessToken用于身份验证和授权,确保合法用户访问受保护资源。流程包括:1. 身份验证(如用户名密码、OAuth 2.0);2. 生成唯一且安全的令牌;3. 设置令牌有效期并存储;4. 客户端传递令牌,服务器验证其有效性。常见场景为OAuth 2.0协议,涉及客户端注册、用户授权、获取授权码和换取accessToken。示例代码展示了使用Apache HttpClient库模拟OAuth 2.0获取accessToken的过程。
|
前端开发 JavaScript API
前端:事件循环/异步
前端开发中的事件循环和异步处理是核心机制,用于管理任务执行、性能优化及响应用户操作,确保网页流畅运行。事件循环负责调度任务,而异步则通过回调、Promise等实现非阻塞操作。
|
DataWorks 关系型数据库 数据库
DataWorks操作报错合集之运行报错"system internal error",该如何排查
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
关系型数据库 MySQL API
Python管理系统源代码
本文介绍了多种基于Python和相关技术的管理系统源代码,包括学生信息管理、图书管理、ERP、异常管理、考试系统等。提供了64个源代码供下载,适用于不同场景和个人项目需求。下载链接:https://pan.baidu.com/s/1hXPLbKHMpBDhlFVv1kdMxA?pwd=8888,提取码:8888。欢迎使用和支持。
413 3
|
存储 Ubuntu 应用服务中间件
如何在 Ubuntu 上安装和使用 Nginx?
ginx(发音为“engine-x”)是一种流行的 Web 服务器软件,以其高性能和可靠性而闻名。它是许多流行网站使用的开源软件,包括 Netflix、GitHub 和 WordPress。Nginx 可以用作 Web 服务器、负载均衡器、反向代理和 HTTP 缓存等。
1736 0
|
数据采集 运维 监控
自动化运维:用Python打造简易监控系统
【8月更文挑战第31天】在追求高效的IT世界里,自动化运维不再是奢侈品而是必需品。本文将通过一个Python示例,展示如何构建一个简单的系统监控工具。从数据采集到警报触发,我们将一步步解锁自动化的秘密,让你的服务器管理变得轻松而高效。
|
Ubuntu Linux 芯片
Linux(2)ubuntu rootfs根文件系统制作
Linux(2)ubuntu rootfs根文件系统制作
1098 0