ServerAdmin.ru | Linux | DevOps
← К каналу

Расскажу про один трюк в strace, про который я вроде бы ещё ни разу не писал.

Расскажу про один трюк в strace, про который я вроде бы ещё ни разу не писал. В нём ничего особенного нет, но в некоторых ситуациях с ним удобно. Если случайно нигде не видел подобного использования, то самому может и в голову не прийти, что так можно.

У strace и её производных (ltrace, latrace) есть ключ -o, через который настраивается вывод результата в файл. При этом вместо файла может выступать pipe, а не обычный файл. Покажу сразу на примере. Тут будет видно явное удобство такого подхода.

Strace много всего умеет и обычно используется при дебаге. Я про него часто упоминал в различных заметках в основном в контексте анализа дисковой активности процессов. Например, какие файлы читает процесс, в какие пишет. Вот сразу реальный и полезный пример с Angie/Nginx.

Если у вас навороченная конфигурация, где куча всего подключается из разных директорий, что бывает часто (привет настройкам Nginx в Bitrixenv), то хочется быстро посмотреть, а что реально из какой-то конкретной директории подключается в момент запуска веб сервера. Проще всего это сделать, анализируя активность процесса во время выполнения команды nginx -t. В этот момент конфигурация проверяется на ошибки, соответственно, она должна быть прочитана.

Можно просто посмотреть все системные вызовы openat, которые отвечают за чтение:

# strace -zf -e trace=openat nginx -t

В выводе будет много всего лишнего - библиотеки, логи, системные файлы и т.д. Можно попробовать грепнуть:

# strace -zf -e trace=openat nginx -t | grep /etc/nginx

У вас, кстати, ничего не получится. Это особенность nginx, про которую просто надо знать. Вывод этой команды улетает не в стандартный поток stdout, а в stderr. Не знаю, почему так, но в Nginx это исторически сложилось. А grep не грепает stderr. Вам нужно будет как минимум сделать вот так:

# strace -zf -e trace=openat nginx -t 2>&1 | grep /etc/nginx

То есть направить поток stderr в stdout. Тогда он грепнется. Но вывод всё равно будет не очень красивый и наглядный. И тут можно использовать вот такой трюк:

# strace -o "| grep -Eo '/etc/nginx/[^\"]+'" -zf -e trace=openat nginx -t
/etc/nginx/nginx.conf
/etc/nginx/modules-enabled
/etc/nginx/mime.types
/etc/nginx/conf.d
/etc/nginx/sites-enabled
/etc/nginx/sites-enabled/default

На выходе получили аккуратный обработанный список директорий и файлов в /etc/nginx, которые веб сервер прочитал. Смысл того, что мы сделали в том, что через ключ -o вывод отправили не в файл, а в пайп, где он сразу же был обработан тем же grep, который вывел только то, что было между " ", а это как раз путь в файловой системе. Вся остальная информация не нужна и только мешает.

В данном случае уже не имеет значение, куда и как пишет nginx. За этим не нужно следить. Аналогичная команда с обычным грепом выглядела бы так:

# strace -zf -e trace=openat nginx -t 2>&1 | grep -Eo '/etc/nginx/[^\"]+'

Тут обязательно перенаправление 2>&1.

Подобная обработка вывода через pipe актуальна для анализа каких-то интерактивных программ. Например, iftop:

# strace -o "| grep -Eo '/[^\"]+'" -zf -e trace=openat iftop

Запускаем и сразу закрываем iftop. В консоли видим список файлов, которые она прочитала. В данном случае команда:

# strace -zf -e trace=openat iftop | grep -Eo '/[^\"]+'

уже не сработает. До grep дело не дойдёт, так как сначала вывалится портянка strace, а потом запустится iftop. В первом случае мы сразу же обрабатываем вывод в strace, выводим его в консоль и потом запускается iftop.

Можно посмотреть, где живёт конфигурация mc, запущенная под рутом:

# strace -o "| grep -Eo '/root[^\"]+'" -zf -e trace=openat mc
/root/.config/mc/ini
/root/.bash_history

Просто и наглядно. Удобно смотреть, кто, что читает в момент запуска.

#bash #linux #terminal
← Предыдущий пост Домучиваю статью про Loki. Никак не соберусь и не доделаю её полностью. В процес… Следующий пост → Хочу дать небольшие советы, основанные на личном опыте работы в отрасли. Может п…
Другие главы канала «ServerAdmin.ru | Linux | DevOps»
Выберите главу, чтобы продолжить чтение
Все посты →
Глава от 08.05.2026
Перебирал старые ролики и нашёл древние видео от провайдера Авантел на тему сист…
👁 620 просмотров
Глава от 08.05.2026
Купил не так давно себе домой ИБП Ippon Kirpich 1050. Хороший аппарат, мне понра…
👁 710 просмотров
Глава от 07.05.2026
Много лет использую Zabbix и постоянно нахожу что-то новое. Это очень масштабная…
👁 841 просмотров
Глава от 07.05.2026
Не могу не поделиться этой историей, хотя пользы от неё кому-то кроме меня скоре…
👁 923 просмотров
Глава от 06.05.2026
Лучшие teelegram-каналы по Айти теперь в Max! Карманный хакер — Канал по инфобе…
👁 730 просмотров
Глава от 06.05.2026
Один мой читатель прислал ссылку на свой новый проект. Он представляет из себя к…
👁 1 124 просмотров
Удалить пост или канал с МАКСОТЕКИ
Заявка подтверждается через бота Макс: нужно быть администратором канала и добавить бота МАКСОТЕКИ в администраторы. После проверки канал или конкретный пост скрывается с сайта.
🔍
Архив всех постов Макс
Поиск по тексту среди 4,343,900 постов из 198,864 каналов. Фильтры по дате, видео, репостам и удалённым публикациям.
1 ₽ — 7 дней доступа
далее 490 ₽/мес
Получить доступ за 1 ₽
или войти, если уже есть аккаунт

Связанные темы в других каналах

Каналы из той же тематики, где часто появляются близкие сюжеты
Вся тема →
@canalmaxone
AntiCloudMod
AntiCloudMod — сообщество для тех, кто ценит свободу общения без облачной цензуры. Здесь обсуждают альтернативные мессенджеры, инструменты для приватности и децентрализов…
👥 234 062 · +68 609/7д
@WylsacomRed
Wylsacom Red
Официальный канал Wylsacom в Max. Тут всё про технологии и жизнь в ногу со временем! Номер заявления для регистрации в РКН: № 6979154178 Розыгрыши: kichaev@wylsacom.med…
👥 134 608 · +8 612/7д
@BelgorodDRONE
Информация БПЛА Белгород, Белгородский район
Информация БПЛА Белгород, Белгородский район — специализированный канал в мессенджере Макс, посвященный новостям и информации о беспилотных летательных аппаратах в регион…
👥 120 195 · +5 687/7д
@TikTokModCloud
TikTokModCloud
Официальные обновления стабильного мода TikTok Чат: https://clck.ru/3S6mVh По рекламе: https://iimax.ru/dim4ugan
👥 58 245 · +1 839/7д
@hitech
Hi-Tech
Оперативные новости, обзоры гаджетов, собственное видео, трансляции мировых анонсов и мероприятий По вопросам сотрудничества и размещения рекламы i.ostapenko@corp.mail.r…
👥 53 428 · +831/7д
@vilianov
Гаджеты и технологии на Вильянов.Ком
Обзоры новой цифровой техники, интересные технологии, репортажи с выставок и просто интересное от Сергея Вильянова. Уже больше 25 лет я делаю так, чтобы купленная техник…
👥 28 542 · -152/7д

Популярные посты канала «ServerAdmin.ru | Linux | DevOps»

Последнее время заметил, что стали донимать ситуации, когда слетают аутентификации в софте после каких-то изменений в системе. Причём иногда…
👁 8 957 просмотров
У меня давняя привычка пользоваться несколькими браузерами. Один основной, где хранятся все пароли и закладки, а остальные - для отдельных з…
👁 8 925 просмотров
▶️ Очередная подборка авторских IT роликов, которые я лично посмотрел и посчитал интересными/полезными. Это видео из моих подписок за послед…
👁 8 910 просмотров
Веселенький денек у сисадмина или Web-site is down как это было в оригинале. Для тех, кто еще не видел (такие есть??? 😱), хочу поделиться о…
👁 8 827 просмотров
Есть отдельная категория программ для синхронизации между собой каталогов. Они прям так и выглядят, как файловые менеджеры с двумя панелями,…
👁 8 779 просмотров
В конце прошлого года по каналам проскочило упоминание новой веб панели для бэкапов на базе Restic под названием Zerobyte. Мне нравится Res…
👁 8 733 просмотров
Очередная подборка статей авторов, которые согласились в ней участвовать. Кто не понимает, о чём идёт речь, может прочитать прошлые публикац…
👁 8 707 просмотров
На днях до глубокой ночи занимался настройкой одиночного гипервизора Proxmox, потому что кое-что не получалось. Нужно было ложиться спать, н…
👁 8 689 просмотров
Недавно в обсуждениях всплыл вопрос использования Rclone c Яндекс.Диском. У последнего заявлена поддержка этого облака. Я много работал с Ян…
👁 8 622 просмотров
Как усилить свою позицию на рынке ИБ в 2026? Академия Кодебай предлагает системный подход с поддержкой экспертов! Если вы планируете развив…
👁 8 614 просмотров
Недавно посмотрел видеообзор менеджера соединений Nexterm. Причём это не обычный менеджер, а веб сервис с разграничением прав доступа и неко…
👁 8 491 просмотров
Есть популярная бесплатная виндовая программа из далёкой древности - doPDF. Когда нужно добавить в систему pdf принтер, я вспоминаю именно …
👁 8 484 просмотров
Пришло время обновить подборку хостингов, которые использую сам. То есть это не рекламная публикация, которую у меня кто-то заказал. Это моя…
👁 8 425 просмотров
Давно собираюсь написать про своё новое рабочее место, но всё руки не доходили. В пятницу самое время это сделать. Для того, чтобы был понят…
👁 8 421 просмотров
Недавно была публикация про PDF принтер в Windows. В комментариях дали ссылку на шикарный бесплатный сервис BentoPDF для работы с PDF. Причё…
👁 8 400 просмотров
Я написал подробный обзор межсетевого экрана и по совместительству шлюза ИКС ФСТЭК, который можно установить на своё железо или виртуальную …
👁 8 394 просмотров
🎥 Перед новым годом я делал публикацию по выбору себе домой бесплатной системы видеонаблюдения. Лично установил и попробовал несколько штук.…
👁 8 385 просмотров
Конфигурация Alloy для Windows к предыдущей заметке. Она же продублирована в репозитории: https://gitflic.ru/project/serveradmin/grafana-lok…
👁 8 383 просмотров
Расскажу про одну тему, которая не относится к IT, но напрямую влияет на мою продуктивность. Может быть и вам она поможет. Лет 8 назад купил…
👁 8 375 просмотров
Недавно посмотрел ролик на ютубе (автор) на мемную тему из прошлого по поводу установки Windows девушке. Сейчас это всё как-будто уже неакту…
👁 8 359 просмотров
🏷 Темы и теги
#bash #linux #terminal #системное администрирование #devops #серверы #автоматизация #Технологии
📋 О канале ServerAdmin.ru | Linux | DevOps
Погрузись в мир Linux, DevOps и автоматизации с практическими гайдами, скриптами и решениями для серверов. Авторский канал для тех, кто строит и оптимизирует IT-инфраструктуру. Без воды — только проверенные методы и реальный опыт системного администратора.
📊 Аналитика канала «ServerAdmin.ru | Linux | DevOps» ➡️ Перейти в канал Макс
Заявка в МАКСОТЕКА
Добавьте свой канал в каталог
Зарегистрируйтесь в личном кабинете и добавьте канал за пару кликов.
Перейти в личный кабинет →

Бесплатная регистрация, быстрая модерация.