SystemdDoctor
unit

Unit в systemd: что это такое и какие бывают типы

Единица, которой управляет systemd: служба, сокет, точка монтирования, таймер, цель. Каждый unit описан текстовым файлом, а тип определяется расширением имени.

Что делает

Единое понятие удобно тем, что все типы ведут себя одинаково: у каждого есть состояние, зависимости, журнал, команды запуска и остановки. Точка монтирования и таймер управляются теми же командами, что и служба.

Файлы ищутся в нескольких каталогах по приоритету: /etc/systemd/system (ваши файлы), /run/systemd/system (временные), /usr/lib/systemd/system (файлы пакетов). Одноимённый файл в более приоритетном каталоге полностью заменяет собой нижний.

Где ставится. Файлы unit лежат в /etc/systemd/system, /run/systemd/system и /usr/lib/systemd/system.

Значения

ЗначениеЧто происходит
.serviceслужба: запускаемый процесс.
.socketсокет: адрес прослушивания, активирующий службу.
.timerтаймер: запуск по расписанию.
.mountточка монтирования.
.automountмонтирование по обращению.
.pathнаблюдение за путём.
.targetцель: точка синхронизации, группа unit.
.sliceсрез: узел дерева ограничений ресурсов.
.scopeобласть: группа процессов, запущенных не systemd.
.swapраздел или файл подкачки.
.deviceустройство, о котором сообщило ядро.

Пример

Просмотр всех unit одного приложения.

systemctl list-units 'myapp*' --all
systemctl list-unit-files 'myapp*'
systemctl cat myapp.service

Первая команда показывает состояния, вторая — файлы и состояние автозапуска, третья — действующее содержимое со всеми переопределениями.

Типичные ошибки

Имя без расширения systemd достраивает до .service: для других типов расширение обязательно.

Файл в /etc/systemd/system полностью заменяет файл пакета, а не дополняет его. Для дополнения нужны drop-in.

Новый файл не виден до systemctl daemon-reload.

Связанные ошибки

  • Unit … not found: unit-файл не найденСообщение Unit not found при запуске службы: файла нет, не выполнен daemon-reload, опечатка в имени или не указано расширение.
  • Unit file is bad и ошибки разбора unit-файлаsystemd не может разобрать unit-файл: неизвестные параметры, ошибки в секциях, недопустимые значения. Как найти проблемную строку.
  • Warning: The unit file … changed on diskПредупреждение о том, что unit-файл изменился на диске: systemd работает со старой версией. Когда нужен daemon-reload.

Рядом стоящие параметры

Источники

  • systemd.unit(5) официальная документация
    сверено 15 сентября 2026
  • Воспроизведено на тестовой машине, systemd 255 (Ubuntu 24.04) собственная проверка
    сверено 15 сентября 2026