CentOS 5.4 final下Systemtap的安装

一、Systemtap运行环境需求
 (1)linux kernel with kprobes (mainline 2.6.11+ or backport);
 (2)kernel module build environment (kernel-devel or kernel-smp-devel rpm);
 (3)kernel debugging information (kernel-debuginfo rpm);
 (4)C compiler (same as what kernel was compiled with);
 (5)elfutils with libdwfl for debugging informatin parsing;
 (6)root privileges;
即:
 (1)内核支持并配置了kprobe(内核2.6.11和以上)
 (2)内核模块编译环境(即编译内核模块所需的内核头文件以及模块配置信息,对于Fedora core或RedHat指kernel-devel或kernel-smp-devel RPM包)
 (3)内核调试信息(对于Fedora core或Redhat指kernel-debuginfo RPM包)
 (4)C编译环境
 (5)支持libdwfl的elfutils(只有支持libwdfl的elfutils,systemtap才能正常工作,如果您的系统的elfutils较旧,您必须下载elfutils源码包来编译,systemtap能够和elfutils一块编译)
 (6)root权限(为了运行Systemtap,您必须具有root权限)

二、CentOS 5.4 final下安装步骤
   内核版本 
   [root@localhost opt]# uname -r
   2.6.18-164.el5  <假若是2.6.18-164.el5xen是表示内核对虚拟化的支持>
   操作系统版本
   [root@localhost opt]# cat /etc/issue
   CentOS release 5.4 (Final) Kernel \r on an \m
  
   Cent OS 5.4发行光盘中包含了下面所列出的大部分包,
   可以通过 rpm -q 命令查看,
   或者
   在图形界面的“应用程序”—>“添加/删除软件”—>“搜索”—>输入软件包名来查询软件包的相关信息。
   注意:下面列出的kernel-debuginfo-common,kernel-debuginfo,kernel-xen-debuginfo这三个包一般在发行光盘中都不自带,
   需要到网上去下载,下面列出几个下载地址:

(i)   这里可以下载 Cent OS 5 的kernrl-debuginfo的rpm包。(我的机器是 i386)

(ii)   选择系统版本号,可以下载到相应的rpm安装包。

(注意) 如果是xen内核应该下载kernel-xen-debuginfo包;

此外kernel-debuginfo-common和kernel-debuginfo版本应该相同,后者依赖于前者,安装时先安装前者;

我在Cent OS 5.4 Final下使用SystemTap时最开始没有安装这两个包,SystemTap仍能正常工作,监测系统调用,不知何故,建议安装上,最后我下载安装的是kernel-debuginfo-2.6.18-194.11.4.el5.i686.rpm和kernel-debuginfo-common-2.6.18-194.11.4.el5.i686
   
   (1)安装gcc,libcap-devel
     gcc是编译器(c、c++),libcap-devel是libcap的开发文件;
     查看系统中是否安装相应包,这些包在Cent OS 5.4 final发行光盘都能找到;
     [root@localhost opt]# rpm -q gcc
     gcc-4.1.2-46.el5
     [root@localhost opt]# rpm -q libcap
     libcap-1.10-26

(2)安装kernel-headers
     kernel-headers是被glibc使用的linux内核的头文件;
     查看系统中是否安装相应包,该包在Cent OS 5.4 final发行光盘中能找到;
     [root@localhost opt]# rpm -q kernel-headers
     kernel-headers-2.6.18-164.el5

(3)安装kernel-devel
     kernel-devel是用来构建与内核匹配的内核模块的开发软件包;
     如果是Xen内核,需要安装kernel-xen-devel包,如果内核版本是smp的,则需安装kernel-[smp-]devel包;
     该包在Cent OS 5.4 final发行光盘中能找到;
     [root@localhost opt]# rpm -q kernel-devel
     kernel-devel-2.6.18-164.el5

(4)安装kernel-debuginfo-common
     该包在Cent OS 5.4 final发行光盘中没有,需要自己下载安装,下载地址在前面已经给出。

[root@localhost opt]# rpm -q kernel-debuginfo-common
     package kernel-deguginfo-common is not installed

(5)安装kernel-debuginfo
     如果是Xen内核,需要下载并安装kernel-xen-debuginfo
     SystemTap需要通过内核调试信息来定位内核函数和变量的位置。
     该包在Cent OS 5.4 final发行光盘中没有,需要自己下载安装,下载地址在前面已经给出。
     [root@localhost opt]# rpm -q kernel-xen-debuginfo
     package kernel-xen-deguginfo is not installed

--------------------------------------------------------------------

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/24728.html