首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >什么是符合FHS的安装dir供应商提供的二进制文件?

什么是符合FHS的安装dir供应商提供的二进制文件?
EN

Unix & Linux用户
提问于 2019-03-01 09:47:22
回答 1查看 269关注 0票数 1

软件供应商必须创建符合Linux文件系统层次标准(FHS)的Debian包。二进制文件必须使用什么安装dir?

放置在/bin/usr/bin中的软件可能会被系统升级覆盖。在目录中安装二进制文件可以吗?或者这些目录是为基本系统分发服务器保留的?

/usr/local/bin用于系统管理员安装的软件。/usr/local下的所有内容都不能通过系统升级来修改。供应商提供的Debian包可能会成为系统升级过程的一部分,如果从包存储库下载并在apt-add-repository中注册该存储库的话。因此,我想:不是吗?

/opt/<vendor>/bin似乎没事。但是,这个目录不是必须在某个地方注册以避免与其他供应商发生冲突吗?以及如何以符合FHS标准的方式集成此目录以使$PATH工作?

EN

回答 1

Unix & Linux用户

发布于 2022-08-06 17:50:25

您可以将软件安装到/usr/local目录层次结构中,就像安装/usr一样。“由系统管理员安装”只是指管理员(或单用户桌面系统,用户)决定不使用系统的包管理并直接安装。在查找文件时(这适用于$PATH查找以及库查找等),/usr/local优于/usr

例如,请参阅一些构建系统的默认值,如、CMake或Meson。所有这些默认安装到/usr/local。但是操作系统分发服务器应该将它们配置为使用/usr。管理员不必修改任何内容。

通常,将应用程序安装到/usr/local意味着应用程序是从源代码构建的,而将应用程序安装到/opt意味着应用程序是在其他人的计算机上进行二进制编译的。

在每个用户的家中也可以有隐藏目录.local,可以包含自己的程序集。它的使用就像/usr/local一样--可以有~/.local/bin~/.local/share等。

从档案中安装应用程序的一个常见做法是将归档内容转储到适当的/opt子目录(例如/opt/graalvm-ce-java11-22.0.0.2),并从/usr/local/bin/usr/local下的其他目录到应用程序文件进行符号链接。示例如下。

代码语言:javascript
复制
/usr/local/bin/java -> /opt/graalvm/bin/java

通过将版本信息添加到/opt目录名(例如/opt/graalvm-ce-java11-22.0.0.2)并向该目录创建符号链接(例如/opt/grallvm),将安装到该目录的应用程序的多个版本更容易切换到该目录也是非常常见的。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/503725

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档