Linux下JDK到底应该安装在哪儿?

1 Linux 目录结构

即使这是个菜鸟级的问题,也经常难住老鸟。我就见过很资深的程序员把JDK不合适地安装到/home目录下。虽然不一定有最正确的安装位置,但一定有不适当的安装位置。为了确定我们到底应该把JDK安装在哪里,首先要了解一下Unix/Linux的目录结构。

[plain] view plain copy print?

  1. /bin 用来贮存用户命令。/usr/bin 也被用来贮存用户命令。
  2. /sbin 许多系统命令(例如 shutdown)的贮存位置。/usr/sbin 中也包括了许多系统命令。
  3. /root 根用户(超级用户)的主目录。
  4. /mnt 该目录中通常包括系统引导后被挂载的文件系统的挂载点。比如,默认的光盘挂载点是 /mnt/cdrom/。可以为U盘建一个挂载点:mkdir /mnt/usb。
  5. /boot 包括内核和其它系统启动期间使用的文件,最大不超过200M。通常我为 /boot 建一个primary分区是1G。
  6. /lost+found 被 fsck 用来放置零散文件(没有名称的文件)。
  7. /lib 包含许多被 /bin 和 /sbin 中的程序使用的库文件。目录 /usr/lib 中含有更多用于用户程序的库文件。/lib 目录下放置的是 /bin 和 /sbin 目录下程序所需的库文件。简单说,/lib 是内核级的;/usr/lib 是系统级的;/usr/local/lib 是用户级的。仅仅被 /usr 目录下的程序所使用的共享库不必放到 /lib 目录下。只有 /bin 和 /sbin 下的程序所需要的库有必要放到 /lib 目录下。
  8. /dev 贮存设备文件。
  9. /etc 包含许多配置文件和目录。
  10. /var 用于贮存variable(或不断改变的)文件,例如日志文件和打印机假脱机文件,虚拟机镜像文件等。
  11. /usr 包括与系统用户直接有关的文件和目录,例如应用程序及支持它们的库文件。
  12. /proc 一个虚拟的文件系统(不是实际贮存在磁盘上的),它包括被某些程序使用的系统信息。
  13. /initrd 用来在计算机启动时挂载 initrd.img 映像文件的目录以及载入所需设备模块的目录。不要删除 /initrd 目录。如果你删除了该目录后再重新引导 Red Hat Linux 时,你将无法引导你的计算机。
  14. /tmp 用户和程序的临时目录。 /tmp 给予所有系统用户读写权。
  15. /home 用户主目录的默认位置。
  16. /opt 可选文件和程序的贮存目录。该目录主要被第三方开发者用来简易地安装和卸装他们的软件包。

在传统的unix系统中,/usr 通常只包含系统发行时自带的程序,而/usr/local 则是本地系统管理员用来自由添加程序的目录。这里有一条严厉而牢固的规则:除非在里面创建目录,unix发行版不得使用 /usr/local 。

对于Linux发行版,如 RedHat, Debian 等等,一个可能的规定是:/usr 目录只能由发行版的软件包管理工具负责管理,而对 /usr/local 却没有这样做。正是因为采用这种方式,软件包管理工具的数据库才能知道在 /usr 目录内的每一个文件。下面演示 Ubuntu 系统下如何安装JDK和配置环境变量。

2 安装JDK6

2.1 安装到 /usr/local/java

因此JDK可能比较合适的位置是 /usr/local/lib 下。我一般安装到 /usr/local/Java 下,这样避免搞乱 /usr/local/lib 目录。下面演示如何安装 JDK6。我使用的是 jdk-6u38-linux-x64.bin。进入它所在的目录,执行下列命令:

[plain] view plain copy print?

  1. $ sudo chmod 755 jdk-6u38-linux-x64.bin
  2. $ sudo ./jdk-6u38-linux-x64.bin
  3. $ sudo mkdir /usr/local/java
  4. $ sudo mv ./jdk1.6.0_38 /usr/local/java

3 配置环境JAVA变量

有3种方式配置JAVA环境变量。

3.1 /etc/profile

如果你的计算机仅仅作为开发使用时推荐使用这种方法. 所有用户的shell都有权使用这些环境变量。修改 /etc/profile 文件,执行下面的语句:

[plain] view plain copy print?

  1. $ sudo -s
  2. # echo ‘export JAVA_HOME=/usr/local/java/jdk1.6.0_38‘ >> /etc/profile
  3. # echo ‘export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH‘ >> /etc/profile
  4. # echo ‘export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar‘ >> /etc/profile

切换到任何一个用户,执行下面这个命令,环境变量的更改立即生效:

# source /etc/profile

检查JAVA环境变量更改是否生效:

$ java -version

3.2 ~/.profile

这个是最安全的方法,控制JAVA到当前用户。如果你需要给某个用户权限使用这些环境变量,你只需要修改其个人用户主目录下的 .profile, 如下:

[plain] view plain copy print?

  1. $ cd ~/
  2. $ echo ‘export JAVA_HOME=/usr/local/java/jdk1.6.0_38‘ >> ./.profile
  3. $ echo ‘export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH‘ >> ./.profile
  4. $ echo ‘export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar‘ >> ./.profile
  5. $ source ./.profile
  6. $ java -version
  7. or
  8. $ java

3.3 /etc/profile.d/java.sh

这种方式为所有用户增加JAVA环境变量,并且一启动就生效。强烈不建议这个方式,除非在你个人开发的计算机上。

[plain] view plain copy print?

    1. $ sudo -s
    2. # echo ‘# add java environments to all users‘ > /etc/profile.d/java.sh
    3. # chmod 755 /etc/profile.d/java.sh
    4. # echo ‘export JAVA_HOME=/usr/local/java/jdk1.6.0_38‘ >> /etc/profile.d/java.sh
    5. # echo ‘export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH‘ >> /etc/profile.d/java.sh
    6. # echo ‘export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar‘ >> /etc/profile.d/java.sh
    7. # shutdown -r now
时间: 2024-11-07 18:11:23

Linux下JDK到底应该安装在哪儿?的相关文章

linux下jdk rpm包安装

安装jdk rpm -ivh jdk-7u2-linux-i586.rpm 3,配置环境变量输入编辑:vi /etc/profile rpm包的jdk会自动安装到usr下 最下面输入: JAVA_HOME=/usr/java/jdk1.7.0_79 PATH=$JAVA_HOME/bin:$PATH CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export JAVA_HOME export PATH export CLAS

Linux下JDK和Tomcat安装

下载地址 http://www.oracle.com/technetwork/java/javase/downloads/index.html http://download.oracle.com/otn-pub/java/jdk/8u31-b13/jdk-8u31-linux-x64.tar.gz?AuthParam=1425274077_b32bf92a0bb67039ccba3e32e85fb356 查看环境变量 whereis java which java (java执行路径) ech

Linux环境下JDK/Eclipse一键安装脚本

-------------------------------------------------------------------- author:jiangxin Email:[email protected] Blog:http://blog.csdn.net/jiangxinnju -------------------------------------------------------------------- 假设大家必须在Linux环境下使用java开发应用程序,会感觉Lin

Linux系统下JDK和Tomcat安装配置

Linux系统下JDK安装配置 1. 从oracle网站下载需要的JDK软件 :jdk-6u39-linux-i586.bin http://www.oracle.com/technetwork/java/javase/archive-139210.html 然后通过FTP上传到linux服务器上. 2. 将文件copy到/usr目录下 [[email protected] wendy]# cp jdk-6u39-linux-i586.bin /usr/ 3. 给文件添加执行权限: [[emai

Linux下Jdk的安装和jdk环境变量的设置

我们在Linux下安装系统软件的时候,经常遇到一些系统环境变量配置的问题.什么是环境变量?如何定制环境变量?我将在下面做一些介绍. 一.什么是环境变量?Linux是一个多用户的操作系统.多用户意味着每个用户登录系统后,都有自己专用的运行环境.而这个环境是由一组变量所定义,这组变量被称为环境变量.用户可以对自己的环境变量进行修改以达到对环境的要求. 二.定制环境变量 环境变量是和Shell紧密相关的,它是通过Shell命令来设置的.环境变量又可以被所有当前用户所运行的程序所使用.对于bash来说,

windows+linux下jdk安装及java环境变量配置

对于初学java的用户来说,可能第一件要做的事情就是安装jdk及配置环境,以下内容主要讲述windows及linux下jdk的安装以及环境变量的配置. 1.首先下载相应平台可用版本jdk安装文件,可以在oracle官网上下载windows.mac或者linux版本: 也可以到我的百度网盘下载:windows版本(jdk-8u20-windows-x64.exe).Linux版本(jdk-8u20-linux-x64.tar.gz) 2.下载之后,直接安装到电脑相应目录,windows直接双击按照

Linux下jdk的安装卸载切换

1. Linux下jdk的安装包: a).bin包(jdk-6u45-linux-i586-rpm.bin) b).tar.gz包(jdk-8u144-linux-i586.tar.gz) c).rpm包(jdk-7u80-linux-i586.rpm) 2.Linux下jdk的安装: a).bin包: 1 初始文件夹下只有jdk-6u45-linux-i586-rpm.bin文件: 2 [[email protected] jdk-6u45]# ll 3 总用量 67036 4 -rwxr-x

Linux下JDK应该安装在哪个位置

在百度知道上看到的回答觉得不错:https://zhidao.baidu.com/question/1692690545668784588.html 如果你认为jdk是系统提供给你可选的程序,放在opt里如果你认为这是你个人行为,自主安装的,放在usr/local里,具体是usr/local/lib如果你觉得jdk对你来说是必不可少的运行库,放在lib里 上面三句是最开始的想法, 其实我也想找出一个最佳实践,后来看了看linux的目录结构,发现就算是同一个东西,系统自带和你手动安装,就不应该在同

hadoop搭建杂记:Linux下JDK环境变量的设置(三种配置环境变量的方法)

Linux下JDK环境变量的设置(三种配置环境变量的方法) Linux下JDK环境变量的设置(三种配置环境变量的方法) ①修改/etc/profile文件 如果你的计算机仅仅作为开发使用时推荐使用这种方法,因为所有用户的shell都有权使用这些环境变量,可能会给系统带来安全性问题. vi /etc/profile 在profile文件末尾加入: JAVA_HOME=/usr/share/jdk1.5.0_05PATH=$JAVA_HOME/bin:$PATHCLASSPATH=.:$JAVA_H