在 PC 环境中使用 /opt 和 /usr/local 目录

在 PC 环境中使用 /opt 和 /usr/local 目录

/opt和目录之间有什么区别/usr/local以及应该在其中安装什么样的程序?

我提到Linux 文件系统层次结构但解释不太清楚。根据上面的链接;

/opt:- 此目录保留用于所有不属于默认安装的软件和附加包

/usr/local:- 该/usr/local层次结构供系统管理员在本地安装软件时使用。它需要确保在系统软件更新时不会被覆盖。

在没有任何联网计算机的 PC 环境中,应该将哪个目录安装可由多个本地用户访问的软件?(即,我应该在哪里安装像 netbeans 这样的软件)

谢谢

答案1

/opt适用于不依赖于该包范围之外的任何依赖项的第三方应用程序。 适用/usr/local于安装在该机器上、位于分发包管理器范围之外的包。

一个例子:

以 .deb 形式提供的开源 sip-client 将安装到/usr。如果它是使用 Qt 框架构建的,apt 会将其作为依赖项引入。

从源代码构建的相同开源 sip-client 将驻留在其中,/usr/local因此如果您稍后为同一应用程序安装 .deb 包,它不会被 apt 弄乱。您可以从源代码构建其依赖项,也可以从包管理器获取它们。

第三方应用程序/opt应该是独立的。例如,使用 Qt 的专有 sip 客户端不会依赖于 apt 中的版本,而是会将其捆绑或静态链接进去。

欲了解更多信息,请查看文件系统层次标准

答案2

我会安装第三方二进制包到/opt

我会把您自己从源代码构建的任何东西放进去/usr/local

netbeans在 Ubuntu Repos 中。您需要特定版本吗?

答案3

这都是关于打包的。如果某些东西以 LHS 方式打包(将可执行文件放入 bin/ 库放入 lib/ 等),它应该进入 /usr/local。

如果某个东西有顶级目录,但不遵循该模型,则它会进入 /opt。通常,您必须明确将 /opt 中的内容添加到您的 PATH 中。

也可以看看关于超级用户的这个问题

相关内容