在百度知道上看到的回答觉得不错:https://zhidao.baidu.com/question/1692690545668784588.html

如果你认为jdk是系统提供给你可选的程序,放在opt里
如果你认为这是你个人行为,自主安装的,放在usr/local里,具体是usr/local/lib
如果你觉得jdk对你来说是必不可少的运行库,放在lib里

上面三句是最开始的想法,

其实我也想找出一个最佳实践,后来看了看linux的目录结构,发现就算是同一个东西,系统自带和你手动安装,就不应该在同一个目录里。同样是浏览器,系统自带的firefox就在/usr/lib里,而后来通过软件包安装的chrome就在/opt里。
如果系统自带java,我觉得他会在lib里或者/usr/lib,看它对java的定义是必需的库还是
如果能在软件管理器里安装,那么会安装在/usr/lib
如果oracle给你的是deb,那么会被安装在opt
所以自己安装,就要放在/usr/local/lib里比较合适了


另附两个关于Linux目录的对比说明


http://blog.51cto.com/mystery888/1835223

听完马哥的Linux培训关于Linux文件系统及文件类型,有一个疑惑,同样是存放第三方应用程序的安装位置,/opt跟/usr/local 有何区别,为什么存在两个相同功能的地方,让人混淆呢。带着这个问题,我寻找了资料,原来Linux的结构是这样的。

/usr/local下一般是你安装软件的目录,这个目录就相当于在windows下的programefiles这个目录

/opt这个目录是一些大型软件的安装目录,或者是一些服务程序的安装目录

/opt

Here’s where optional stuff is put. Trying out the latest Firefox beta? Install it to /opt where you can delete it without affecting other settings. Programs in here usually live inside a single folder whick contains all of their data, libraries, etc.

/opt这里主要存放那些可选的程序。你想尝试最新的firefox测试版吗?那就装到/opt目录下吧,这样,当你尝试完,想删掉firefox的时候,你就可 以直接删除它,而不影响系统其他任何设置。安装到/opt目录下的程序,它所有的数据、库文件等等都是放在同个目录下面。

举个例子:刚才装的测试版firefox,就可以装到/opt/firefox_beta目录下,/opt/firefox_beta目录下面就包含了运 行firefox所需要的所有文件、库、数据等等。要删除firefox的时候,你只需删除/opt/firefox_beta目录即可,非常简单。

/usr/local

This is where most manually installed (ie. outside of your package manager) software goes. It has the same structure as /usr. It is a good idea to leave /usr to your package manager and put any custom scripts and things into /usr/local, since nothing important normally lives in /usr/local.

/usr/local这里主要存放那些手动安装的软件,即 不是通过“新立得”或apt-get安装的软件。

它和/usr目录具有相类似的目录结构。

让软件包管理器来管理/usr目录,而把自定义的脚本(scripts)放到/usr/local目录下面,我想这应该是个不错的主意。

PS:新立得(Synaptic)是Debian和Ubuntu Linux操作系统的包管理工具apt的图形化前端。它结合了图形界面的简单操作和 apt-get 命令行工具的强大功能

什么?看完还是不够深刻?那结合Windows作对比,简单通俗点说:

Linux 的软件安装目录是也是有讲究的,理解这一点,在对系统管理是有益的

/usr:系统级的目录,可以理解为C:/Windows//usr/lib理解为C:/Windows/System32
/usr/local:用户级的程序目录,可以理解为C:/Progrem Files/。用户自己编译的软件默认会安装到这个目录下。
/opt:用户级的程序目录,可以理解为D:/Software,opt有可选的意思,这里可以用于放置第三方大型软件(或游戏),当你不需要时,直接rm -rf掉即可。在硬盘容量不够时,也可将/opt单独挂载到其他磁盘上使用。

源码放哪里?
/usr/src:系统级的源码目录。
/usr/local/src:用户级的源码目录。


https://docs.huihoo.com/lfs/blfs-1.0/introduction/position.html

应该把程序安装在 /usr还是 /usr/local?

对于一个以LFS为基础的系统来说,这是一个没有明确答案的问题。

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

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

LFS的用户是自己建立系统的,所以能自己决定系统文件和用户文件的放置方式。因此,应该按照有利于系统管理员使用的方式作出选择。这里有几个把文件安装到/usr或者是/usr/local的理由:

  • 如果网络上的计算机都运行LFS或者是混合使用LFS和其它linux发行版,所有连网计算机共用的软件应该安装在/usr/local内。这样可以通过NFS文件系统共享该目录或者从一个服务器上镜象过来。此时local表示本地服务器提供软件。

  • 如果网络上的计算机都运行同样的LFS系统,/usr/local应该安装各台计算机之间不相同的软件。这时local表示本地计算机提供软件。

  • 如果你在一台计算机上同时安装了几个linux发行版,并希望在某个目录存放它们共享的软件,这时/usr/local目录就能发挥作用了。

  • 或者你想要经常重建LFS系统,但又希望把不想每次重复编译的软件存放在某处,你也可以把软件安装在/usr/local目录。这样你就可以在不丢失数据的情况下删去LFS系统并从一个干净的分区重新开始。

一些人会问为什么不使用你自己的目录树,也就是使用/usr/site 而不是 /usr/local?

没有什么能阻止你,确实可以在很多地方创建自己的目录树,但这使安装新软件更加麻烦。自动化的安装程序通常要到/usr/usr/local目录下寻找所依赖的文件,如果要找的文件不在/usr目录里面,除非你指定目录让安装程序查找所依赖的文件,安装可能会失败。

那么在BLFS中软件的安装位置在那里?

除非特别声明,所有BLFS中的软件都安装在/usr目录下。也有一些文件被放在/usr/local目录下,但它们只是文档并且有足够的理由这样做。这些例外的情况都会在本书中得到很好的说明,如果发现有不对的地方,请告诉我们!


Linux下JDK应该安装在哪个位置的更多相关文章

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

    我们在Linux下安装系统软件的时候,经常遇到一些系统环境变量配置的问题.什么是环境变量?如何定制环境变量?我将在下面做一些介绍.一.什么是环境变量?Linux是一个多用户的操作系统.多用户意味着每个 ...

  2. Linux下jdk的安装和环境变量的配置

    Linux下jdk的安装和环境变量的配置 一.jdk的下载 方式一:在官网下载 http://www.oracle.com/technetwork/java/javase/downloads/inde ...

  3. linux下jdk的安装配置

    1.下载jdk:地址 选中你选择的版本,下载linux版本对应你系统的32位或64位. 我这里选择的是64位. 2.使用你的ssh直连工具把安装包丢到/usr/local/目录下 3.解压安装jdk ...

  4. linux下jdk的安装(tar包)

    1.查看jdk安装路径 [root@localhost ~]# whereis javajava: /usr/bin/java /etc/java /usr/lib/java /usr/share/j ...

  5. Linux下JDK+Eclipse安装

    Ubuntu版本14.04 JDK8_144 eclipse最新下载 注:原本安装JDK7配置好环境后报错,原来是最新eclipse的一个功能只有JDK8支持,若想使用JDK7需要注释某条代码 JDK ...

  6. linux下jdk的安装和配置

    一.首先依据自己的系统位数在网上下载对应的jdk安装包 下载地址例如以下:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-do ...

  7. Linux下JDK的安装

    1.首先到官网上下载 jdk-7u7-linux-x64.tar.gz 2.将jdk-7u7-linux-x64.tar.gz拷贝到/usr/lib/jdk/目录下面,这里如果没有jdk文件夹,则创建 ...

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

    对于初学java的用户来说,可能第一件要做的事情就是安装jdk及配置环境,以下内容主要讲述windows及linux下jdk的安装以及环境变量的配置. 1.首先下载相应平台可用版本jdk安装文件,可以 ...

  9. 解决Linux下jdk版本与安装版本不一致

    解决Linux下jdk版本与安装版本不一致 在Linux下安装jdk后,利用java -version查看版本使,发现不是自己所安装的jdk版本; 解决方案: which java ——查看默认的jd ...

随机推荐

  1. 今天练手了下mysqlbinlog,标记下

    1 首先查看是否开启了 bin log 登录mysql后  使用命令 show variables like "log_%"; show binary logs; 2  确认开启了 ...

  2. 0_Simple__simpleP2P

    使用 P2P 特性在 GPU 之间传输.读写数据. ▶ 源代码.包括 P2P 使用前的各项检查,设备之间的数据互拷,主机和设备之间数据传输和相互访问. #include <stdlib.h> ...

  3. dir 使用,统计文件数量

    dir /b /a-d | find /v /c "$$$$" >1.log--※ 来源:·水木社区 newsmth.net·[FROM: 125.46.17.*] 今天去水 ...

  4. FD 设置字体大小

    英文版: 依次选择菜单 Tools ->Syntax Coloring 中文版本: 如依次选择菜单 工具 ->语法配色器

  5. display_css

    display所有可选值: none block inline inline-block inherit initial unset compact & marker list-item ru ...

  6. JetBrains产品永久破解

    吃水不忘挖井人,本博客转自:https://www.cnblogs.com/jyiqing/p/7699649.html 目的: 本人使用idea和webstorm进行开发,无奈正版实在是太贵了,只能 ...

  7. 向数据库添加学生信息。存放在REQUEST对象里

    代码前几天已经发过了,但是程序一直还没运行出来,今天重新建立了一个数据库,才可以,下面补充上数据截图

  8. Python基础语法题库

    引言: 语法练习包括Python基础语法.数据类型.字符编码和简单文件操作等内容. 正文(参考答案附录在题目下方): 1.Python 里用来告知解释器跳过当前循环中的剩余语句,然后继续进行下一轮循环 ...

  9. Codeforces Round #533 (Div. 2)

    C: 题意: 有n个整数ai,数列a有两个神奇的性质.1.所有的整数都在[l,r]范围内.2.这n个数的和能被3整除.现在给出l和r,和个数n,问你有多少种方法构造出数列a,方案数mod1e9+7. ...

  10. pyhon模块之日志模块

    #Auther Bob#--*--coding:utf-8--*-- import logging #python一共有5个级别的日志,debug.info.warning.error.critica ...