是否存在用于"安装"的Linux标准结构?目录?

时间:2018-03-02 19:55:34

标签: linux software-distribution fhs

我想发布一个小软件包,但我不确定如何构建发布目录。

是否有Linux标准指定如何在我的发布文件夹中命名每个目录以及放入哪些目录(或不放入)?

例如,我希望编译的库位于<div class="outer"> <div class="container"> <p>The quick brown fox jumps over the lazy dog.</p> </div> </div>/lib中的头文件 - 等等。我在发布中有一些其他文件,我不清楚放置它们的目录。

1 个答案:

答案 0 :(得分:2)

  

是否有Linux标准指定如何命名每个目录?

或多或少,请阅读File Hierarchy Standard(另请参阅thisFHS&amp; LSB wikipages)。另请参见hier(7)手册页。

但它描述了系统范围的路径。请注意,库通常会将/usr/lib/(或/usr/lib/x86_64-linux-gnu/ ...)和头文件放入/usr/include/。对于package manager之外且未知的软件,您将/usr/local/lib/用于库,/usr/local/include/用于标题。还要注意pkg-config

顺便说一句,您应该考虑使这些目录可配置(至少在构建时)。

另请阅读--prefix脚本中的autoconf/usr/local/参数(默认为configure)。

另外,请考虑打包您的软件(例如,在Ubuntu或Debian上打包为.deb packages)。这也意味着描述依赖关系。 另请参阅GNU stow

如果您的软件包是free software(我希望它是,然后发布其源代码,可能在github),您可能会从分发包装商处获得帮助。你应该研究一下类似的自由软件是如何处理它的。