linux中devel包和非devel包的区别

“devel”包是什么?

在RHEL上安装package时,经常看到同样名字的package有两个:分别是带和不带devel后缀的。例如:
elfutils-libelf.x86_64 : Library to read and write ELF files
elfutils-libelf-devel.x86_64 : Development support for libelf
两者区别是:不带devel后缀的package,通常只包含能让程序运行的动态库和配置文件。而带devel后缀的package,则包含使用这个package开发程序的所有的必需文件。比如头文件,等等。有时devel
package还包含静态库。

devel 包主要是供开发用,至少包括以下2个东西:

  1. 头文件
  2. 链接库
    有的还含有开发文档或演示代码。

以 glib 和 glib-devel 为例:

如果你安装基于 glib 开发的程序,只需要安装 glib 包就行了。

但是如果你要编译使用了 glib 的源代码,则需要安装 glib-devel。