当我使用 stap 时,它告诉我这个错误作为图像,我该如何解决它。
问问题
956 次
1 回答
1
真的不知道为什么这个问题曾经被否决。当我担心时,downvotter 是我总是犹豫在 stackoverflow 上提问的原因之一......
因此,对 ubuntu 下的容器也有同样的担忧,这就是我修复它的方法:尝试在 docker 上启动 ubuntu bash(不是 centos,但步骤应该相似)
docker run -it --cap-add sys_admin ubuntu bash
然后安装一些库和systemtap
apt-get update
apt-get --yes install build-essential cmake bc curl diffutils git kmod libcurl4-openssl-dev wget
apt-get --yes install systemtap systemtap-sdt-dev
现在安装内核头文件(需要时间)
export KERNELVER=$(uname -r | cut -d '-' -f 1)
export KERNELDIR=/linux-$KERNELVER
cd /
curl -o linux-${KERNELVER}.tar.gz https://www.kernel.org/pub/linux/kernel/v4.x/linux-${KERNELVER}.tar.gz
tar zxf linux-${KERNELVER}.tar.gz
cd linux-${KERNELVER}
zcat /proc/1/root/proc/config.gz > .config
make all
make modules_prepare
make headers_install
make modules_install
现在运行stap -l 'syscall.*'
。它应该工作并显示:
...
syscall.waitpid
syscall.write
syscall.writev
这取自:https ://github.com/fdebonneval/mobydig/blob/master/resources/build
于 2017-09-07T13:18:30.087 回答