为什么开源外围包安装指导都是按照到/usr/local/目录下,/usr/local与/usr的区别

很多应用都安装在/usr/local下面,那么,这些应用为什么选择这个目录呢?Automake工具定义了下面的一组变量:

Directory variable  Default value
prefix  /usr/local
exec_prefix   ${prefix}
bindir  ${exec_prefix}/bin
libdir  ${exec_prefix}/lib
    …
includedir    ${prefix}/include
datarootdir   ${prefix}/share
datadir ${datarootdir}
mandir  ${datarootdir}/man
infodir ${datarootdir}/info
docdir  ${datarootdir}/doc/${PACKAGE}  

而GUN下面绝大部分应用的编译系统都是用automake。所以很多很多应用都安装在了/usr/local/目录下。

另外,需要注意usr 指 Unix System Resource,而不是User。通常/usr/bin下面的都是系统预装的可执行程序,会随着系统升级而改变。/usr/local/bin目录是给用户放置自己的可执行程序的地方,推荐放在这里,不会被系统升级而覆盖同名文件。

如果两个目录下有相同的可执行程序,谁优先执行受到PATH环境变量的影响,比如我的一台服务器的PATH变量为

 echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

这里/usr/local/bin优先于/usr/bin。

原文地址:https://www.cnblogs.com/xingmuxin/p/9875335.html

时间: 2024-11-01 08:20:02

为什么开源外围包安装指导都是按照到/usr/local/目录下,/usr/local与/usr的区别的相关文章

为什么很多应用都安装在/usr/local目录下

很多应用都安装在/usr/local下面,那么,这些应用为什么选择这个目录呢?理解了最根源的原因后,也许对你理解linux组织文件的方式有更直观的理解. 答案是:Automake工具定义了下面的一组变量: [php] Directory variable  Default value prefix  /usr/local exec_prefix   ${prefix} bindir  ${exec_prefix}/bin libdir  ${exec_prefix}/lib … included

maven在打war包时将资源文件打包到classes目录下

可以利用maven插件的机制将资源文件打到classes目录下 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>2.1.1</version> <configuration> <!--将类文件打成jar包--> <archiveClas

为什么很多应用都安装在/usr/local目录下?

首先,Linux的官方文档FHS对该目录的说明:http://www.linuxbase.org/betaspecs/fhs/fhs/ch04s09.html The /usr/local hierarchy is for use by the system administrator when installing software locally. It needs to be safe from being overwritten when the system software is u

eclipse maven项目如何将所有的jar包复制到lib目录下?

1.情景展示 我们知道,maven项目的jar包并不存在与项目当中,项目所需的jar包都保存在本地仓库中,如果本地仓库没有,会从配置的中央仓库下载,如果中央仓库也没有就会报错: 如上图所示,我想将项目所依赖的所有jar包都放在src/main/webapp/WEB-INF/lib目录下, 如何实现? 这样做的目的,是为了可以热部署. 2.分析 默认情况下,要想获取项目所依赖的jar包,需要执行maven命令来实现,比如:mvn install 执行后,target目录下会出现该项目以及已经打好的

GPL、LGPL、MIT、BSD、Apache,这些开源协议,你都注意过吗?

本人在开发iOS应用的过程中,经常会使用到别人撰写的类库,不仅因为能够节省下大量的开发和调试的时间,还因此获得了更多完善且强大的功能和效果.在使用别人撰写的类库的时候,必须当心该类库所涉及的授权问题,如果使用不慎,很可能引发不必要的麻烦,甚至可能导致法律纠纷.同样使用过外部类库的开发者们,你们是否注意过呢? 1.GPL.LGPL和GFDL GPL 是 GNU General Public License (GNU 通用公共许可证)的缩写形式:LGPL 是 GNU Lesser General P

开源jar包导入并查看源码

我们用Ctrl + 左键查看源码的时候往往出现以下情况,是因为没有正确的导入jar包,以及没有导入src包 1.右键项目-->build ptah-->config build path下面是解决方法(从导入jar包开始): 2.add Libary-->User Library ,点击User Library那个按钮,然后新建一个库. 3.点击User Library那个按钮,名字由你自己取.然后点击OK 再然后选择你信创建的库,点击finish. 4.然后往库里导jar包 add l

Ubuntu中利用Doxygen生成开源程序包的API文档

Doxygen 是一个程序的文件产生工具,可将程序中的特定批注转换成为说明文件.通常我们在写程序时,或多或少都会写上批注,但是对于其它人而言,要直接探索程序里的批注,与打捞泰坦尼克号同样的辛苦.大部分有用的批注都是属于针对函数.类型等等的说明.所以,如果能依据程序本身的结构,将批注经过处理重新整理成为一个纯粹的参考手册,对于后面利用您的程序代码的人而言将会减少许多的负担. 在Ubuntu下使用apt-get install命令即可安装doxygen命令行工具和相应的GUI工具,命令如下: sud

maven依赖本地非repository中的jar包-依赖jar包放在WEB-INF/lib等目录下的情况客户端编译出错的处理

maven依赖本地非repository中的jar包 http://www.cnblogs.com/piaolingxue/archive/2011/10/12/2208871.html 博客分类: MAVEN 今天在使用maven编译打包一个web应用的时候,碰到一个问题: 项目在开发是引入了依赖jar包,放在了WEB-INF/lib目录下,并通过buildpath中将web libariary导入. 在eclipse中开发没有问题,但是使用maven编译插件开始便宜总是报找不到WEB-INF

eclipse maven工程中src/main/resources目录下创建的文件夹是包图标的解决方法

如图:在src/main/resources目录下创建的文件夹却以包的图标显示  修改方法: 入下图,按顺序1 ,2,3,4操作,把3处remove,在4处添加**  修改后如下:  然后点击完成后,文件夹图标显示正常了