SystemTap Man
systemtapを動かすには
- 実行しているカーネルの kernel-devel
- 実行しているカーネルの kernel-debuginfo
- 実行しているカーネルの kernel-debuginfo-common
- gcc
- systemtap
kernel-debuginfo
とkernel-debuginfo-common
debuginfo-install kernel
でお目当てのバージョンをインストールする。
$ debuginfo-install kernel --skip-broken ============================================================================================================================================== Package Arch Version Repository Size ============================================================================================================================================== Installing: kernel-debuginfo x86_64 2.6.32-642.15.1.el6 base-debuginfo 282 M Updating: yum-plugin-auto-update-debug-info noarch 1.1.30-40.el6 base 27 k Installing for dependencies: kernel-debuginfo-common-x86_64 x86_64 2.6.32-642.15.1.el6 base-debuginfo 46 M Skipped (dependency problems): kernel-debuginfo x86_64 2.6.32-642.6.2.el6 base-debuginfo 282 M kernel-debuginfo x86_64 2.6.32-642.11.1.el6 base-debuginfo 282 M kernel-debuginfo x86_64 2.6.32-642.13.1.el6 base-debuginfo 282 M kernel-debuginfo x86_64 2.6.32-642.13.2.el6 base-debuginfo 282 M Transaction Summary ============================================================================================================================================== Install 2 Package(s) Upgrade 1 Package(s)
Version、 2.6.32-642.15.1.el6
OK
これで残りもインストールできたらsystemTapが使える。実際に使えた。が、インストールした翌日に再び実行してみると下記の様なエラーがでるようになった。
emantic error: missing x86_64 kernel/module debuginfo [man warning::debuginfo] under '/lib/modules/2.6.32-642.15.1.el6.x86_64/build'
よくよく調べるとyum-cronが走り。centos.plusたるものにアップデートされてた。
Packages Altered: Updated kernel-debuginfo-2.6.32-642.15.1.el6.x86_64 @base-debuginfo Update 2.6.32-642.15.1.el6.centos.plus.x86_64 @base-debuginfo Updated kernel-debuginfo-common-x86_64-2.6.32-642.15.1.el6.x86_64 @base-debuginfo Update 2.6.32-642.15.1.el6.centos.plus.x86_64 @base-debuginfo
yum install kernel-debuginfo
だと、centos.plusのやつが入るみたい。
入れ直し必要。