TGViewer
BashTex | Linux BashTex | Linux @bash_tex · 2.52K subscribers
Post #645 587
systemd-delta: как найти, чем на самом деле переопределён unit

Иногда вы открываете unit-файл и видите одну конфигурацию, а systemd ведёт себя иначе.

Причина часто в drop-in override, созданном через systemctl edit.

Например, основной unit:

/usr/lib/systemd/system/nginx.service


а дополнительная настройка лежит здесь:

/etc/systemd/system/nginx.service.d/override.conf


▪️Посмотреть переопределения

systemd-delta


Команда показывает отличия между vendor-конфигурацией и локальными изменениями.
Можно проверить конкретный unit:

systemd-delta nginx.service


Если сервис был переопределён, вы увидите соответствующий drop-in.

▪️Почему это важно

Допустим, в основном unit указано:

[Service]
Restart=no

А где-то в /etc/systemd/system/nginx.service.d/override.conf:
[Service]
Restart=always


Открыв только /usr/lib/systemd/system/nginx.service, вы будете смотреть на неполную картину.

systemd при запуске учитывает оба слоя.

▪️Посмотреть итоговую конфигурацию

Для проверки того, что systemd реально использует:

systemctl show nginx.service


Например:

systemctl show nginx.service -p Restart -p RestartUSec


А список связанных drop-in можно увидеть так:

systemctl cat nginx.service


Здесь systemd покажет основной unit и применённые drop-in-файлы.

▪️Практический сценарий

Сервис неожиданно перезапускается:

systemctl status nginx


В основном unit Restart= не настроен.

Вместо того чтобы сразу менять конфигурацию, проверяем:

systemd-delta nginx.service


И обнаруживаем старый override:

/etc/systemd/system/nginx.service.d/override.conf


Именно он мог изменить поведение сервиса.

▪️Важный нюанс

systemd-delta особенно полезен после обновлений дистрибутива.

Пакет может заменить vendor unit в /usr/lib/systemd/system/, но локальный override в /etc/systemd/system/ продолжит действовать.

Поэтому при странном поведении unit полезно проверить не только сам файл, но и что поверх него было добавлено или изменено.

BashTex 📱 #bash #systemd
  • 👍 7
More from @bash_tex
  1. Oct 6, 2026Ephemeral ports - почему заканчиваются исходящие TCP-порты Когда приложение устанавливает…
  2. Oct 5, 2026name_to_handle_at() - как получить файловый объект без обычного пути В Linux обычно обраща…
  3. Oct 2, 2026madvise() - как процесс подсказывает ядру, как он собирается использовать память Когда про…
  4. Oct 1, 2026flock vs fcntl - почему две блокировки одного файла могут вести себя совершенно по-разному…
  5. Sep 30, 2026DEBUG trap - как Bash выполняет код перед каждой командой В Bash есть специальный DEBUG tr…
  6. Sep 29, 2026tee + process substitution: один поток и несколько получателей Иногда нужно одновременно:…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →