ServerAID
Найти гайд, команду, тег… ⌘ K
Глоссарий  ·  термин

systemd — что это и зачем

Систем-менеджер и init-процесс с PID 1 в современных Linux-дистрибутивах. Запускает все остальные процессы, управляет сервисами через unit-файлы, собирает логи в journald и держит цепочку зависимостей при загрузке. На Ubuntu используется с 15.04.

Систем-менеджер и init-процесс с PID 1 в современных Linux-дистрибутивах. Запускает все остальные процессы, управляет сервисами через unit-файлы, собирает логи в journald и держит цепочку зависимостей при загрузке. На Ubuntu используется с 15.04.

Что это в одном абзаце

После загрузки ядра Linux первым в пользовательском пространстве запускается процесс с PID 1 — он отвечает за поднятие всей остальной системы. На современной Ubuntu этот процесс — systemd. Раньше эту роль играл SysV init со скриптами в /etc/init.d/, потом был upstart; с 2015 года стандарт — systemd.

Команда systemctl — это клиент для общения с PID 1. Когда вы пишете sudo systemctl restart nginx, вы шлёте команду демону systemd, который перезапускает указанный сервис.

Из чего он состоит

systemd — это не только init. Это набор связанных компонентов:

  • systemd (PID 1) — собственно менеджер: парсит unit-файлы, поднимает сервисы, держит зависимости.
  • systemctl — CLI для управления: start, stop, enable, status, daemon-reload.
  • journald — централизованный сборщик логов. journalctl -u nginx достаёт логи конкретного сервиса.
  • logind — отслеживает пользовательские сессии, отвечает за loginctl и user-сервисы.
  • resolved — локальный DNS-резолвер (/etc/resolv.conf указывает на 127.0.0.53).
  • timesyncd — простой NTP-клиент для синхронизации времени.
  • udevd — обработчик горячего подключения устройств (правила в /etc/udev/rules.d/).
  • timers — замена cron, описывает задачи через unit-файлы *.timer.

Все эти компоненты — часть одного дистрибутива systemd, но многие можно выключить и заменить: например, resolved отключают в пользу прямого /etc/resolv.conf или unbound.

Чем заменил предшественников

Старое решение systemd-аналог
init.d/<service> — shell-скрипты unit-файлы *.service
update-rc.d enable systemctl enable
service nginx restart systemctl restart nginx
cron/anacron *.timer units
syslog, rsyslog journalctl (часто параллельно)
inetd/xinetd *.socket units

Главные плюсы такой замены:

  • Параллельный запуск при загрузке через граф зависимостей — система поднимается за секунды, а не последовательные «звёздочки» SysV.
  • Декларативный конфиг в unit-файлах вместо длинных bash-скриптов.
  • Надзор — systemd знает, жив ли сервис, и может рестартовать его при падении (Restart=always).
  • Централизованные логи — не нужно знать, в какой /var/log/<service>.log смотреть, всё через journalctl -u <service>.

Что такое systemctl

systemctl — основной CLI-инструмент для общения с systemd. Часто встречается в поиске как «systemctl linux что это» — это и есть ответ. Базовые команды:

sudo systemctl start nginx        # запустить сейчас
sudo systemctl stop nginx         # остановить сейчас
sudo systemctl restart nginx      # перезапустить
sudo systemctl reload nginx       # перечитать конфиг без рестарта
sudo systemctl enable nginx       # добавить в автозагрузку
sudo systemctl disable nginx      # убрать из автозагрузки
sudo systemctl status nginx       # текущее состояние и последние строки журнала
sudo systemctl daemon-reload      # перечитать unit-файлы после правок

Подробный разбор systemctl enable, шорткат --now и написание собственного unit-файла — в гайде по systemctl и systemd unit.

Где systemd используется в типичных задачах

  • nginx как сервис. При apt install nginx пакет приносит unit-файл, и сервис управляется через systemctl. См. nginx reverse proxy.
  • docker compose как сервис. Для автозапуска compose-стека после ребута оборачивают docker compose up -d в unit-файл Type=oneshot. См. docker compose на Ubuntu.
  • SSH-демон. В Ubuntu 24.04 это ssh.service или ssh.socket (socket-activation) — нюанс важен при смене порта SSH. См. SSH-ключи Ubuntu.
  • Автообновления. unattended-upgrades запускается через apt-daily-upgrade.timer — стандартный systemd-таймер. См. apt update и apt upgrade.
  • Снапшоты btrfs. snapper собирает периодические снимки через snapper-timeline.timer. См. btrfs снапшоты и subvolume.

Частые вопросы

Что делает systemd в Linux

Запускает первым после ядра, получает PID 1 и поднимает всё остальное: ядро передаёт ему управление, дальше systemd читает unit-файлы из /etc/systemd/system/ и /lib/systemd/system/, разрешает зависимости и параллельно стартует сервисы. Также управляет логами (через journald), таймерами и пользовательскими сессиями.

Чем systemd отличается от init

SysV init запускал скрипты последовательно, по приоритетам в названии файлов (S20syslog, S21nginx). systemd использует декларативные unit-файлы, разрешает зависимости графом и стартует сервисы параллельно — отсюда выигрыш по времени загрузки. Кроме того, systemd следит за процессами после старта и может рестартовать их при падении.

В чём разница между systemd и systemctl

systemd — это сам процесс PID 1, init и менеджер сервисов. systemctl — CLI-клиент, через который вы отдаёте команды этому процессу. Можно сравнить с docker и docker-cli: docker — демон, docker — это команда для общения с ним.

На каких дистрибутивах используется systemd

Ubuntu (с 15.04), Debian (с 8), Fedora (с 15), CentOS/RHEL (с 7), Arch, openSUSE. Без systemd: Alpine Linux (использует OpenRC), Void Linux (runit), Devuan (специально форкнутый Debian без systemd), Gentoo (по выбору).

Как посмотреть все запущенные сервисы systemd

systemctl list-units --type=service --state=running — список активных сервисов. systemctl list-unit-files — все unit-файлы (включая отключённые). systemctl --failed — только упавшие сервисы.

Что почитать

Похожие материалы

Сроки поддержки Ubuntu LTS — на сколько хватает релиза
Глоссарий

Сроки поддержки Ubuntu LTS — на сколько хватает релиза

Ubuntu LTS — это релиз с долгой поддержкой: 5 лет бесплатных security-обновлений и 10 лет с подпиской Ubuntu Pro. Промежуточные релизы (24.10, 25.04) живут всего 9 месяцев. Разбираем, какие версии сейчас актуальны, до какой даты безопасно сидеть на 22.04 и 24.04, и когда выходит 26.04 LTS.

Редакция
Debian или Ubuntu — что выбрать
Глоссарий

Debian или Ubuntu — что выбрать

Debian и Ubuntu — две родственные операционные системы: Ubuntu сделана на базе Debian и тянет оттуда пакеты, формат `.deb` и пакетный менеджер apt. Различия — в скорости релизов, наборе из коробки и философии. Кратко: Debian Stable консервативнее и аскетичнее, Ubuntu LTS — свежее и удобнее, особенно для рабочего стола и облаков. Под прод подходят оба, выбор сводится к тому, что вам важнее: предсказуемость или новизна.

Редакция
bash — что это и зачем
Глоссарий

bash — что это и зачем

bash (Bourne Again SHell) — это командная оболочка, которая обрабатывает то, что вы вводите в терминале Linux. Запускает программы, расширяет переменные, выполняет конструкции `if` / `for`, читает скрипты из файлов с шебангом `#!/bin/bash`. На Ubuntu — оболочка по умолчанию для интерактивных пользователей; для системных скриптов используют более строгий `/bin/sh` (`dash`).

Редакция
Ubuntu — что это и зачем
Глоссарий

Ubuntu — что это и зачем

Ubuntu — самый популярный дистрибутив Linux: бесплатная операционная система на базе Debian, удобная и для серверов, и для рабочего стола. Под капотом Linux-ядро, поверх — пакетный менеджер apt, рабочий стол GNOME (на Desktop) и стек systemd-сервисов. Релизы выходят каждые полгода, LTS-версии — раз в два года и поддерживаются 5 лет.

Редакция