我想发布一个小软件包,但我不确定如何构建发布目录。
是否有一个 Linux 标准指定如何命名我的发布文件夹中的每个目录以及在其中放入(或不放入)什么?
例如,我希望编译的库/lib
和头文件在/include
- 等等。我在发行版中有一些其他文件,我不清楚将它们放在哪个目录中。
我想发布一个小软件包,但我不确定如何构建发布目录。
是否有一个 Linux 标准指定如何命名我的发布文件夹中的每个目录以及在其中放入(或不放入)什么?
例如,我希望编译的库/lib
和头文件在/include
- 等等。我在发行版中有一些其他文件,我不清楚将它们放在哪个目录中。
是否有指定如何命名每个目录的 Linux 标准?
或多或少,阅读有关文件层次标准的信息(另请参阅此以及FHS和LSB维基页面)。另请参见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 上),您可能会从分发打包者那里获得帮助。你应该看看类似的免费软件是如何处理这个问题的。