为什么Arch Linux中没有-dev软件包?


28

我了解GentooSlackware等基于源的发行*-dev版本不需要程序版本。它们包括源代码以及用于在本地编译所有内容的头文件。

但是我从未见过Arch Linux中的*-dev软件包,尽管它是基于软件包的。我在其他发行版中遇到了很多软件包。*-dev

Answers:


30

-dev软件包通常包含头文件,示例,文档等,而这些文件仅用于运行程序(或将库用作依赖项)并不需要。它们被省去以节省空间。

ArchLinux通常只是将这些文件与软件包一起提供。这会花费更多的磁盘空间来安装,但是减少了您必须管理的软件包数量。


1
您好,谢谢您的回答。我认为您是对的,因为我注意到在Arch Linux上,我可以立即编译软件包(无需安装-dev软件包)。您能提供一个参考吗?
塞巴斯蒂安

3
最重要的参考(如果可能是《拱门之道》和“ 简洁性”原则)-制作-dev软件包实际上意味着构建软件包并删除包含文件。但是,Archlinux程序包包括其构建时的程序包(例如,通过调用make),而无需随后对其进行处理。此规则有例外,但我想不出与此规则有关的规则。
Wieland

4

如果要编辑标准软件包的源文件并自己进行编译,则应使用ABS(Arch Build System)。从Arch Linux Wiki引用:

Arch Build System,简称ABS,是一个类似端口的系统,用于从源代码构建和打包软件。pacman是用于二进制软件包管理(包括使用ABS构建的软件包)的专用Arch工具,而ABS是用于将源代码编译为可安装的.pkg.tar.gz / .pkg.tar.xz软件包的工具集合。

这是使用Arch Linux时推荐的方法。


1
您将开发软件包与src软件包混淆了。src软件包使您可以重建软件包本身。dev软件包使您可以构建依赖于软件包的内容。
马修·马歇尔

@MatthewMarshall你是正确的。尽管至少ABS与该问题有关。
杰森·阿克森
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.