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

 我来答
就烦条0o
2016-05-19 · 知道合伙人软件行家
就烦条0o
知道合伙人软件行家
采纳数:33315 获赞数:46492
从事多年系统运维,喜欢编写各种小程序和脚本。

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

[plain]
view plaincopy

/bin 用来贮存用户命令。/usr/bin 也被用来贮存用户命令。

/sbin 许多系统命令(例如 shutdown)的贮存位置。/usr/sbin 中也包括了许多系统命令。

/root 根用户(超级用户)的主目录。

/mnt 该目录中通常包括系统引导后被挂载的文件系统的挂载点。比如,默认的光盘挂载点是 /mnt/cdrom/。可以为U盘建一个挂载点:mkdir /mnt/usb。

/boot 包括内核和其它系统启动期间使用的文件,最大不超过200M。通常我为 /boot 建一个primary分区是1G。

/lost+found 被 fsck 用来放置零散文件(没有名称的文件)。

/lib 包
含许多被 /bin 和 /sbin 中的程序使用的库文件。目录 /usr/lib 中含有更多用于用户程序的库文件。/lib 目录下放置的
是 /bin 和 /sbin 目录下程序所需的库文件。简单说,/lib 是内核级的;/usr/lib 是系统级的;/usr/local
/lib 是用户级的。仅仅被 /usr 目录下的程序所使用的共享库不必放到 /lib 目录下。只有 /bin 和 /sbin 下的程序所需要的库
有必要放到 /lib 目录下。

/dev 贮存设备文件。

/etc 包含许多配置文件和目录。

/var 用于贮存variable(或不断改变的)文件,例如日志文件和打印机假脱机文件,虚拟机镜像文件等。

/usr 包括与系统用户直接有关的文件和目录,例如应用程序及支持它们的库文件。

/proc 一个虚拟的文件系统(不是实际贮存在磁盘上的),它包括被某些程序使用的系统信息。

/initrd 用来在计算机启动时挂载 initrd.img 映像文件的目录以及载入所需设备模块的目录。不要删除 /initrd 目录。如果你删除了该目录后再重新引导 Red Hat Linux 时,你将无法引导你的计算机。

/tmp 用户和程序的临时目录。 /tmp 给予所有系统用户读写权。

/home 用户主目录的默认位置。

/opt 可选文件和程序的贮存目录。该目录主要被第三方开发者用来简易地安装和卸装他们的软件包。

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

对于Linux发行版,如 RedHat, Debian
等等,一个可能的规定是:/usr 目录只能由发行版的软件包管理工具负责管理,而对 /usr/local
却没有这样做。正是因为采用这种方式,软件包管理工具的数据库才能知道在 /usr 目录内的每一个文件。

2配置环境JAVA变量

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

2.1/etc/profile

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

[plain]
view plaincopy

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

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

# source /etc/profile

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

$ java -version

2.2 ~/.profile

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

[plain]
view plaincopy

$ cd ~/
$ echo 'export JAVA_HOME=/usr/local/java/jdk1.6.0_38' >> ./.profile
$ echo 'export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH' >> ./.profile
$ echo 'export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar' >> ./.profile
$ source ./.profile
$ java -version
or
$ java

2.3 /etc/profile.d/java.sh

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

[plain]
view plaincopy

$ sudo -s
# echo '# add java environments to all users' > /etc/profile.d/java.sh
# chmod 755 /etc/profile.d/java.sh
# echo 'export JAVA_HOME=/usr/local/java/jdk1.6.0_38' >> /etc/profile.d/java.sh
# echo 'export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH' >> /etc/profile.d/java.sh
# echo 'export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar' >> /etc/profile.d/java.sh
# shutdown -r now
转自: http://blog.csdn.net/cheungmine/article/details/8289335
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式