"install"目录是否有 Linux 标准结构?



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

是否有一个 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 配置。

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

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

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

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

最新更新