Среда отладки с кодом на экране ноутбукаФото: Daniil Komov / Pexels ← Все темы Тема Bashdays

Debug

Методы отладки и диагностики: поиск ошибок в Linux системах, сервисах и DevOps процессах.

75материалов
Сначала новые

Статьи по теме

Страница 3 из 7

devops

Как восстановить Dockerfile из готового образа

Восстанавливаем логику сборки Docker-образа, когда исходный Dockerfile потерян или недоступен. Используем docker history и ключ --no-trunc, изучаем слои через Dive, извлекаем файлы командой docker cp и проверяем образ с помощью …

Фото: SpaceX / Pexels
linux

Как анализировать процессы Linux через pstree

Изучаем дерево процессов Linux с помощью pstree и разбираем ключи -c, -p и -a. Показываем объединение одинаковых ветвей, вывод PID и аргументов запуска, а также установку пакета psmisc в разных системах.

Фото: Luca Dross / Pexels
bash

Почему условие while с pgrep работает не так

Разбираем ошибочную конструкцию while с pgrep, command substitution, test и перенаправлением в файл 0. Упрощаем цикл Bash до проверки кода возврата процесса и объясняем, почему лишние квадратные скобки только запутывают условие.

Фото: Andrea Piacquadio / Pexels
debug

Как отследить запускаемые команды через strace

Используем strace и системный вызов execve, чтобы увидеть, какие внешние программы запускает команда и с какими аргументами. На примере man разбираем ключи трассировки, сохранение лога и практическую отладку скриптов и приложений.

Фото: cottonbro studio / Pexels
linux

Как восстановить SSH после ошибки в .bashrc

Восстанавливаем доступ по SSH, когда ошибка в .bashrc ломает интерактивную оболочку удалённого сервера. Показываем два способа входа через принудительный запуск /bin/sh и SFTP, а также объясняем риск простых ограничивающих …

Фото: Mikhail Nilov / Pexels
linux

Чем service отличается от systemctl

Сравниваем команды service и systemctl для управления службами Linux. Через strace проверяем вызов systemctl, вспоминаем SysVinit и Upstart и перечисляем альтернативы для OpenRC, runit, s6 и Supervisor.

Фото: Marek Piwnicki / Pexels
linux

Как безопасно тестировать systemd-юниты

Тестируем изменения systemd-юнитов через временное переопределение `systemctl edit --runtime`. Показываем выбор редактора, расположение override в `/run/systemd/` и замену ExecStart для nginx только до перезагрузки.

Фото: Field Engineer / Pexels
linux

Как отлаживать SSH-подключение по логам

Ищем причины отказа SSH-аутентификации по ключам через журнал сервера и `tail`. Разбираем права на authorized_keys, неверные ключи, типовые сообщения auth.log и безопасное восстановление конфигурации.

Фото: Mikhail Nilov / Pexels
bash

Как узнать имя функции в Bash

Разбираем массив FUNCNAME и получаем имя текущей функции внутри Bash-скрипта. Показываем стек вызовов, аналог funcstack в Zsh и связанные переменные BASH_SOURCE и BASH_LINENO для отладки.

Фото: Walls.io / Pexels
linux

Как tar хранит владельца и группу файла

Исследуем заголовок tar-архива через hexdump и смотрим, где сохраняются UID, GID, имя владельца и группа. Проверяем `--owner`, `--group` и поведение распаковки для существующих и выдуманных пользователей.

Фото: Polina Tankilevitch / Pexels
security

Как StrictModes влияет на проверку SSH-ключей

Разбираем ошибку `bad ownership or modes` при входе по SSH-ключу и роль параметра `StrictModes`. Показываем безопасную диагностику прав `authorized_keys` и объясняем риски временного отключения проверки.

Фото: Pixabay / Pexels
О направлении

Что входит в тему

Debug — подборка материалов по диагностике, поиску неисправностей и расследованию проблем в Linux и инфраструктуре.

В разделе публикуются материалы по:

  • Анализу логов
  • strace
  • systemd
  • Производительности серверов
  • Диагностике сетей
  • Отладке приложений
  • Мониторингу
  • Troubleshooting

Здесь собраны практические руководства и реальные примеры поиска причин ошибок, нестабильной работы сервисов и деградации производительности.