1

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

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

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

4

1 回答 1

2

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

或多或少,阅读有关文件层次标准的信息(另请参阅以及FHSLSB维基页面)。另请参见hier(7)手册页。

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

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

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

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

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

于 2018-03-02T20:00:58.530 回答