/usr/local 还是 /opt?

/usr/local 还是 /opt?

对于那些不属于你的 distrib 存储库的软件包,你通常如何在 Linux 上安装它们?

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

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

谢谢

法贝尔爵士

答案1

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

答案2

作为额外的有趣信息:的原意/usr/local是,如果/usr是网络安装的(/usr在多台计算机之间单独共享),/usr/local那么将是计算机本地的单独文件系统(本地磁盘上的分区)。

谈论这个话题时,即使它与问题无关:如果有多台具有不同架构的计算机,那么自然/usr每个架构都会有一台,但/usr/share架构之间还会共享另一个单独的文件系统(因此称为“共享”)。

答案3

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

答案4

以下是我对 FHS 标准的解读:

/usr/local 用于本地构建或本地安装的文件,无论是否打包,都成为操作系统实例的一部分。

/opt 是安装不属于操作系统的“外部”软件包的地方。

只要您仅在构建它们的单个系统上使用文件,/usr/local 就可以了,因此它是绝大多数开源软件的默认基目录。

如果您计划重新分发您的软件包,我建议使用自定义基目录,如 /opt/myPackage。

相关内容