在PC的上下文中使用/ opt和/ usr / local目录

/opt/usr/local目录之间有什么区别,应该为它们安装哪种程序?

我提到了Linux文件系统层次结构,但解释并不清楚。 根据以上链接;

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

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

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

谢谢

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

一个例子:

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

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

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

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

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

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

netbeans在Ubuntu Repos中。 你需要一个特定的版本吗?

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

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

另见超级用户的这个问题