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

Nir*_*han 73 filesystem directory

/opt/usr/local目录有什么区别,应该安装什么样的程序?

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

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

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

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

谢谢

Egi*_*gil 81

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

一个例子:

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

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

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

有关更多信息,请查看文件系统层次结构标准


Bro*_*oam 12

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

你从源代码构建的任何东西我都会放入/usr/local

netbeans位于 Ubuntu 存储库中。你需要一个特定的版本吗?


TRE*_*REE 8

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

如果某个东西有一个顶级目录并且不遵循该模型,它就会进入 /opt。通常,您必须将 /opt 中的内容显式添加到您的 PATH。

另见关于超级用户的这个问题