概要
kernel-headers
とkernel-devel
を簡単に調べてみたので自分めも。
まず
とあるCentOS6.8の初期minimalインストール後
# rpm -qa | grep kernel
dracut-kernel-004-409.el6_8.2.noarch
kernel-2.6.32-642.15.1.el6.x86_64
kernel-headers-2.6.32-642.15.1.el6.x86_64
kernel-firmware-2.6.32-642.15.1.el6.noarch
kernel-2.6.32-642.el6.x86_64
kernel-headres
rpm -qa | grep kernel
よりkernel-headersは最初からインストールされている
$ rpm -qi kernel-headers
・
・
Description :
Kernel-headers includes the C header files that specify the interface
between the Linux kernel and userspace libraries and programs. The
header files define structures and constants that are needed for
building most standard programs and are also needed for rebuilding the
glibc package.
$ rpm -ql kernel-headers | more
/usr/include/asm
/usr/include/asm-generic
/usr/include/asm-generic/auxvec.h
/usr/include/asm-generic/bitsperlong.h
/usr/include/asm-generic/errno-base.h
/usr/include/asm-generic/errno.h
/usr/include/asm-generic/fcntl.h
/usr/include/asm-generic/int-l64.h
/usr/include/asm-generic/int-ll64.h
/usr/include/asm-generic/ioctl.h
/usr/include/asm-generic/ioctls.h
/usr/include/asm-generic/ipcbuf.h
・
・
/usr/includeに配置されている。説明通り/usr/include以下はユーザ側に提供しているファイルの集合。
こんな感じ
- /usr/include
- glibcから提供のヘッダファイル
- /usr/include/linux
- カーネルソースコード由来のヘッダファイル
- /usr/include/sys
- カーネルから提供(システムコールなど)
- /usr/include/net
- ネットワーク関連
kernel-devel
自分でインストールする必要あり
$ rpm -qi kernel-devel
・
・
Description :
This package provides kernel headers and makefiles sufficient to build modules
against the kernel package.
説明通りカーネルモジュールを作成するための十分なヘッダとmakeファイルがはいっている。.cも入っていたけど、これはカーネルソースとはまた異なるっぽい。kernel orgなどからダウンロードできるカーネルソース一式とは異なる。カーネルモジュールを作成ためのもの。