Проверка unit-файла systemd
Вставьте содержимое .service, .socket, .timer, .mount или .path. Проверка разбирает текст: секции, имена параметров, пути, значения, подстановки. Ошибки — это то, из-за чего systemd откажется загружать unit или не сможет запустить процесс; предупреждения — рабочие, но опасные настройки.
Что проверяется
- Синтаксис: секции, строки без знака равенства, параметры до первой секции, регистр в именах секций и параметров.
- Обязательное для типа unit:
ExecStart=для службы,Listen…=для сокета, условие срабатывания для таймера,What=иWhere=для монтирования. - Параметр не в своей секции — например
WantedBy=в[Unit]вместо[Install]. - Команда запуска: относительный путь, синтаксис оболочки, подстановки имён файлов, уход в фон.
- Значения:
Type=,Restart=,KillMode=, промежутки времени, ограничения,StandardOutput=. - Опечатки в именах директив — по близости к известным именам.
Чего проверка не делает
- Не запускает и не создаёт unit, не обращается к systemd на этом сервере.
- Не знает, существуют ли на вашей машине указанные файлы, каталоги и пользователи. Об этом честно сказано в замечаниях.
- Не судит за отсутствие
Restart=как за ошибку: это допустимая конфигурация, а совет зависит от типа службы.
Полную проверку на самой машине делает systemd-analyze verify /путь/к/unit — она видит окружение и зависимости.