重点是需要内核的匹配
1.
首先先查看你的内核版本
uname -a
如果你的内核版本比较老的话,你需要去查找你需要的kernel-devel 的版本.
如果你想用yum去安装,你可以用 yum install kernel-devel
注意:在最新的yum里面安装的总是最新的kernel-devel的版本,kernel-devel 需要匹配内核版本
比如: CentOS 5.3 用的是内核版本 2.6.18-128.el5
先下载 和内核版本一样的对应的
http://ftp.cs.stanford.edu/pub/rpms/centos/5/x86_64/kernel-devel-2.6.18-128.el5.x86_64.rpm
然后安装
rpm-ivh kernel-devel-2.6.18-128.el5.x86_64.rpm
安装好kernel-devel会有内核的目录在
/usr/src/kernels/2.6.18-128.el5-x86_64
2.
安装systemtap
yum install systemtap
3. 安装debuginfo 去
http://debuginfo.centos.org
寻找和你内核完全匹配的
kernel-debuginfo-common-xxxxx
kernel-debuginfo-xxxx
如果你找不到对应的内核版本的rpm,你可以去google 去寻找,可以使用RedHat的debuginfo rpm 包
象centos的官方网站里只有
kernel-debuginfo-common-2.6.18-128.7.1.el5.centos.plus.x86_64.rpm
多了centos.plus 还是不能使用
去下载
http://rpm.pbone.net/index.php3/stat/4/idpl/13968571/dir/redhat_el_5/com/kernel-debuginfo-common-2.6.18-128.el5.x86_64.rpm.html
ftp://ftp.pbone.net/mirror/ftp.redhat.com/pub/redhat/linux/enterprise/5Server/en/os/x86_64/Debuginfo/kernel-debuginfo-2.6.18-128.el5.x86_64.rpm
安装rpm -ivh kernel-debuginfo*.rpm
如何测试:
stap -ve ‘probe begin { log(“hello world”) exit() }’
官方wiki:
http://sourceware.org/systemtap/wiki/SystemTapOnCentOS