/usr/local 还是 /opt?

51 linux fedora

对于不属于您的发行版存储库的软件包,您通常如何在 Linux 上进行软件包安装?

在我这边,我习惯于安装在 /opt 中。但是因为,我在互联网上看到了这个文档:http : //www.pathname.com/fhs/。现在我很困惑:显然 /usr/local 也是一种可能性。

两者有什么区别?有什么最佳实践可以分享?

谢谢

法贝尔爵士

laj*_*tte 41

  • 所有必须以Unix 风格编译和安装并符合 FHS ->/usr/local
  • 其他所有内容(例如,带有自己的应用程序服务器和 zip 存档中的大量资源的 Java Web 应用程序 -> /opt


小智 25

就像其他有趣的信息: 的原始含义/usr/local是,如果/usr是网络安装(/usr跨多台计算机共享/usr/local的单个文件),则将是计算机本地的单独文件系统(本地磁盘上的分区)。

在该主题上,即使它与问题无关:如果有多台具有不同架构的计算机,自然/usr每个架构都会有一台计算机,但/usr/share架构之间会共享另一个单独的文件系统(因此是“共享”) .

  • 不...历史上(是的,我在那里!) /usr 等人有供应商提供的东西,/usr/local 是本地安装的东西(即 bash、gcc 和其他好东西)。 (7认同)
  • @Didier A.,当我开始使用 Unix ('80es) 时,只有一台机器,没有网络……他们有 /usr 和 /usr/local。 (2认同)

小智 8

我这样做的方式是,如果它需要一个前缀或者它是一个二进制包,我会选择 /opt (这几乎是 Solaris 的方式)。如果我从源代码编译 /usr/local 就是我的方式。


小智 6

我把所有东西都放在一个私有目录中,然后使用GNU stow

所以,我将安装包 X.ver 到/BASE/stow/X.ver. 那么GNU垫木将所有的包(用符号连接)结合成/BASE/bin/BASE/lib等等。

冲突和删除包更容易处理。