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

Debug

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

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

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

Страница 2 из 6

linux

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

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

bash

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

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

debug

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

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

linux

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

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

linux

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

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

linux

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

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

linux

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

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

bash

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

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

linux

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

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

linux

Как проверить права по всему пути через namei

Утилита `namei` показывает каждый компонент пути, владельца и права доступа, помогая находить ошибки в родительских каталогах. Сравниваем её с `ls -la` на примере недоступной PHP-админки.

security

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

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

bash

Как проверить синтаксис Bash-скрипта без запуска

Проверяем синтаксис Bash-скриптов до выполнения с помощью bash -n и режима set -o noexec. Добавляем проверку всех .sh-файлов в Git hook и используем set -u, чтобы находить обращения к необъявленным переменным.

О направлении

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

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

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

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

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