Запуск SystemTap внутри непривилегированного док-контейнера

Можно ли запустить SystemTap внутри док-контейнера, который не является не привилегированным? Я смонтировал /lib/modules и /sys/kern/debug внутри контейнера и предоставил контейнеру все возможности, но это не помогло. Хотя SystemTap устанавливает модуль без проблем, ему не удается подключиться к модулю на проходе 5 с ошибкой: невозможно открыть канал управления модулем.


person MEE    schedule 06.08.2016    source источник
comment
Вы можете запустить stap -vv [...], чтобы найти командную строку staprun, которую он вызывает для прохода 5, а затем запустить ее вручную под # strace, чтобы выяснить, что случилось.   -  person fche    schedule 11.08.2016
comment
Да, я понял это так. Извините за поздний ответ, хотя! Я обнаружил, что debugfs был смонтирован только для чтения, так как он находится в каталоге /sys. Перемонтирование вне /sys и в режиме чтения-записи решает проблему.   -  person MEE    schedule 13.08.2016


Ответы (1)


Решение состоит в том, чтобы смонтировать debugfs с разрешениями на чтение и запись за пределами /sys. Без привилегированного режима /sys монтируется только для чтения, и SystemTap не может записывать в канал управления (файл отладки) модуля трассировки.

person MEE    schedule 13.08.2016