【问题标题】:Is there a Linux standard structure for "install" directories?“安装”目录是否有 Linux 标准结构?
【发布时间】:2018-08-11 02:22:50
【问题描述】:

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

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

例如,我希望编译后的库位于 /lib 中,头文件位于 /include 中 - 等等。我在发行版中还有一些其他文件,我不清楚将它们放在哪个目录中。

【问题讨论】:

    标签: linux software-distribution fhs


    【解决方案1】:

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

    或多或少,请阅读File Hierarchy Standard(另请参阅thisFHSLSB 维基页面)。另请参阅 hier(7) 手册页。

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

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

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

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

    如果您的软件包是一些free software(我希望是,然后发布它的源代码,也许在github),您可能会从分发打包者那里获得帮助。你应该看看类似的免费软件是如何处理这个问题的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-05-05
      • 2017-07-31
      • 1970-01-01
      • 1970-01-01
      • 2014-08-10
      • 2018-07-01
      • 1970-01-01
      相关资源
      最近更新 更多