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

Posted xingmuxin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么开源外围包安装指导都是按照到/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。

 

以上是关于为什么开源外围包安装指导都是按照到/usr/local/目录下,/usr/local与/usr的区别的主要内容,如果未能解决你的问题,请参考以下文章

mongodb安装

mq/mysql/redis/nginx常见服务&工具安装

impala安装mac os指导

Nginx1.8源码包编译安装

Linux下Mongodb安装和启动配置

mysql安装教程 教程指导在这