Warning: The unit file … changed on disk. Run systemctl daemon-reload
Файл службы изменился, а systemd продолжает работать со старой версией. Выполните sudo systemctl daemon-reload и перезапустите службу — изменения вступят в силу.
Содержание 7
Как выглядит предупреждение
Warning: The unit file, source configuration file or drop-ins of myapp.service changed on disk. Run 'systemctl daemon-reload' to reload units.«Файл службы, его исходные настройки или дополнения к нему изменились на диске. Выполните systemctl daemon-reload, чтобы перечитать их». systemctl пишет это при командах start, restart, status и других. В примерах служба называется myapp — подставьте имя своей: nginx, mysql, php8.3-fpm и так далее.
Почему так
systemd читает файлы служб при запуске сервера и держит их в памяти. Если вы поправили файл службы в редакторе, на диске уже новая версия, а systemd помнит старую. Предупреждение об этом и напоминает.
Это не ошибка: служба продолжает работать как раньше. Но ваши изменения не вступят в силу, пока systemd их не перечитает.
Как исправить
Команды на этой странице вводятся на сервере: подключитесь к нему по SSH (как подключиться) и набирайте их в том же окне. Перечитайте настройки всех служб:
sudo systemctl daemon-reloadЕсли система спросит пароль, введите пароль своего пользователя на сервере. Символы при вводе не видны — так и должно быть: наберите пароль и нажмите Enter. Команда ничего не отвечает — так и должно быть. Она перечитывает файлы, но саму службу не перезапускает. Чтобы служба заработала с новыми настройками, перезапустите её:
sudo systemctl restart myappКак проверить
sudo systemctl status myappПредупреждения больше нет, в строке Active: — active (running). Чтобы вернуться к вводу команд после systemctl status, нажмите клавишу Q.
Если служба после перезапуска не работает, ошибка в новых настройках. Как её найти, рассказано на странице Job for … failed.
Где лежат файлы служб
/usr/lib/systemd/system/— файлы из пакетов. Их не правят: при обновлении пакета изменения пропадут./etc/systemd/system/— ваши службы и ваши изменения. Файлы здесь важнее файлов из пакетов./etc/systemd/system/myapp.service.d/— дополнения к службе. Такую папку создаёт командаsudo systemctl edit myapp.
Какие файлы служба использует сейчас, покажет команда systemctl cat myapp: в начале каждого куска — путь к файлу.
Удобнее всего менять настройки службы командой sudo systemctl edit myapp: она сохраняет изменения отдельно от файла пакета и сама выполняет daemon-reload.
Тексты сообщений сверены с исходным кодом systemd 255 — эта версия стоит в Ubuntu 24.04. В других версиях systemd слова могут немного отличаться.
Источники
- Исходный код systemd 255: systemctl-util.c — предупреждение о daemon-reload.
- Исходный код systemd 255: systemctl-edit.c — systemctl edit сам выполняет daemon-reload.
- Справка systemctl(1) в Ubuntu 24.04 — команды reset-failed, daemon-reload, unmask.
- Справка systemd.unit(5) в Ubuntu 24.04 — где лежат файлы служб, StartLimitBurst.
Сверено 10 октября 2026 года.
Что почитать дальше
Проверено и обновлено: 10.10.2026