Сервис перестал стартовать после деплоя, хотя CI/CD пропустил всё без ошибок. Journalctl показывал: «Failed at step EXEC spawning... No such file or directory». Проверили ExecStart — путь верный. Но systemd по-прежнему запускал старую команду. Причина: за неделю до этого дежурный вручную создал /etc/systemd/system/foo.service.d/debug.conf с изменённым ExecStart, чтобы «побыстрее проверить». После обновления юнита через Ansible этот drop-in остался — и переопределял все шаблоны. Systemd не сканирует drop-in при каждом старте — только при daemon-reload или перезагрузке демона. Диагностика: systemctl cat foo.service — покажет все активные фрагменты. systemctl show foo.service — ExecStart= покажет итоговую команду. Инфраструктурная гигиена требует: либо всё через drop-in с контролем версий, либо запрет на запись в /etc/systemd/system/ вне CI. Иначе вы просто откладываете аварию на 3 ночи. Подробнее: https://ftops.space/?utm*source=telegram&utm*medium=smm&utm*campaign=ftops&utm*content...

Сервис перестал стартовать после деплоя, хотя CI/CD пропустил всё без ошибок. Journalctl показывал: «Failed at step EXEC spawning... No such file or directory». Проверили ExecStart — путь верный | Сетка — социальная сеть от hh.ru