Linux下JDK安装位置

新手在Linux上安装JDK时,不知道应该将JDK安装在哪比较合适。首先简要了解下Linux中部分目录的做用。java

 

/bin---用来贮存用户命令。/usr/bin 也被用来贮存用户命令。  
/sbin---许多系统命令(例如 shutdown)的贮存位置。/usr/sbin 中也包括了许多系统命令。  
/root---用户(超级用户)的主目录。  
/mnt---该目录中一般包括系统引导后被挂载的文件系统的挂载点。好比,默认的光盘挂载点是 /mnt/cdrom/。
/boot---包括内核和其它系统启动期间使用的文件,最大不超过200M。 
/lib---包含许多被 /bin 和 /sbin 中的程序使用的库文件。
/usr/lib---中含有更多用于用户程序的库文件。 
/dev---贮存设备文件。  
/etc---包含许多配置文件和目录。  
/var---用于贮存variable(或不断改变的)文件,例如日志文件和打印机假脱机文件,虚拟机镜像文件等。  
/usr---包括与系统用户直接有关的文件和目录,例如应用程序及支持它们的库文件。  
/proc---一个虚拟的文件系统(不是实际贮存在磁盘上的),它包括被某些程序使用的系统信息。  
/initrd---用来在计算机启动时挂载 initrd.img 映像文件的目录以及载入所需设备模块的目录。不要删除 /initrd 目录。若是你删除了该目录后再从新引导 Red Hat Linux 时,你将没法引导你的计算机。  
/tmp---用户和程序的临时目录。 /tmp 给予全部系统用户读写权。  
/home---用户主目录的默认位置。  
/opt---可选文件和程序的贮存目录。该目录主要被第三方开发者用来简易地安装和卸装他们的软件包。
/lost+found---被 fsck 用来放置零散文件(没有名称的文件)。shell

 

/lib 是内核级的;/usr/lib 是系统级的;/usr/local/lib 是用户级的。仅仅被 /usr 目录下的程序所使用的共享库没必要放到 /lib 目录下。只有 /bin 和 /sbin 下的程序所须要的库有必要放到 /lib 目录下。数据库

在传统的unix系统中,/usr 一般只包含系统发行时自带的程序,而/usr/local 则是本地系统管理员用来自由添加程序的目录。这里有一条严厉而牢固的规则:除非在里面建立目录,unix发行版不得使用 /usr/local 。对于Linux发行版,如 RedHat, Debian 等等,一个可能的规定是:/usr 目录只能由发行版的软件包管理工具负责管理,而对 /usr/local 却没有这样作。正是由于采用这种方式,软件包管理工具的数据库才能知道在 /usr 目录内的每个文件。安全

所以JDK可能比较合适的位置是 /usr/local/lib 下。我通常安装到 /usr/local/java 下(如/usr/local/java/jdk1.7),这样避免搞乱 /usr/local/lib 目录。bash

 

配置JAVA环境变量工具

在Linux中通常有三个配置环境变量的位置:spa

  • /etc/profile:若是你的计算机仅仅做为开发使用时推荐使用这种方法,全部用户的shell都有权使用这些环境变量。
  • ~/.profile:这个是最安全的方法,控制JAVA到当前用户。若是你须要给某个用户权限使用这些环境变量,你只须要修改其我的用户主目录下的 .profile。
  • /etc/profile.d/java.sh:这种方式为全部用户增长JAVA环境变量,而且一启动就生效。强烈不建议这个方式,除非在你我的开发的计算机上。

 

~/.profile与~/.bash_profileunix

在某些Linux的发行版上,可能找不到~/.profile而找到一个与之很接近的文件~/.bash_profile,下面简要分析下这两个文件。日志

  • ~/.bash_profile: 每一个用户均可使用该文件输入专用于本身使用的shell信息,当用户登陆时,该文件仅仅执行一次!默认状况下,他设置一些环境变量,执行用户的.bashrc文件。~/.bash_profile 是交互式、login 方式进入 bash 运行的;~/.bashrc 是交互式 non-login 方式进入 bash 运行的;一般两者设置大体相同,因此一般前者会调用后者。
  • ~/.profile:若bash是以login方式执行时,读取~/.bash_profile,若它不存在,则读取~/.bash_login,若前二者不存在,读取~/.profile。另外,图形模式登陆时,此文件将被读取,即便存在~/.bash_profile和~/.bash_login。
相关文章
相关标签/搜索