Lorsque j'utilise stap, il me dit cette erreur comme l'image, comment puis-je le réparer.Comment puis-je utiliser systemtap (stap) dans le conteneur centos dans docker pour mac
0
A
Répondre
0
ne sais vraiment pas pourquoi cette question a été downvotted fois. Quand je m'inquiète, downvotter est l'une des raisons pour lesquelles j'hésite toujours à poser des questions sur stackoverflow ...
Donc, j'ai le même souci avec un conteneur sous Ubuntu et c'est ainsi que je le répare: essayez de lancer un ubuntu bash sur docker (non CentOS, mais l'étape devrait être similaire)
docker run -it --cap-add sys_admin ubuntu bash
Ensuite, installez une bibliothèque et 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
maintenant, installez les en-têtes du noyau (prendra du temps)
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
Exécutez maintenant stap -l 'syscall.*'
. Il devrait fonctionner et l'affichage:
...
syscall.waitpid
syscall.write
syscall.writev
Il est récupéré à partir de: https://github.com/fdebonneval/mobydig/blob/master/resources/build
Vous pouvez essayer de suivre pas de https://github.com/draios/sysdig/issues/637 Il y a quelques points intéressants qui peut-être peut vous aider. – Naremy
Désolé si cela est évident, mais même si vous obtenez systemtap pour construire un module (compléter le passage 4), il y a moyen que le noyau mac osx puisse l'exécuter. – fche