歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> CentOS 5.4 final下Systemtap的安裝

CentOS 5.4 final下Systemtap的安裝

日期:2017/2/28 16:20:02   编辑:Linux教程

一、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) http://debuginfo.centos.org/5/i386/ 這裡可以下載 Cent OS 5 的kernrl-debuginfo的rpm包。(我的機器是 i386)

(ii) http://rpm.pbone.net/ 選擇系統版本號,可以下載到相應的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

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

Copyright © Linux教程網 All Rights Reserved