Linux Labs

Пакеты, службы, журналы / Ступень 5 из 13

Службы systemd: состояние и автозапуск

Не запущена Запускается обычно ~20 с
Выйти из урока

Шаг 2 из 6 · на машине · 5 мин

Юнит и два состояния

У службы два состояния, и машина сообщает о каждом отдельно. В этом шаге — что они значат.

Службами управляет systemd: запускает их при загрузке, останавливает и перезапускает по команде. Всё, чем он управляет, называется юнитами. Служба — юнит с окончанием .service: cron.service, nginx.service. В командах systemctl окончание можно не писать, cron и cron.service для неё — одна служба.

Состояния службы независимы друг от друга:

  • active — служба работает сейчас. Его печатает systemctl is-active: active — работает, inactive — остановлена, failed — завершилась сбоем.
  • enabled — служба запустится при загрузке системы, это называют автозапуском. Его печатает systemctl is-enabled: enabled — включён, disabled — выключен.

Оба состояния есть и в сводке о службе:

bash
systemctl status cron --no-pager

В строке Loaded после пути к файлу юнита стоит enabled или disabled — это автозапуск. preset: enabled рядом — с таким автозапуском пакет Ubuntu ставит службу, на её работу он не влияет. Строка Active — работа сейчас: active (running) и время запуска. Предупреждение Warning: some journal files were not opened значит, что журнал службы student без sudo не читает, — о журнале будет следующий урок.

Проверь себя 1 вопрос

systemctl status nginx печатает такие строки. Что будет с nginx после перезагрузки?

     Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; preset: enabled)
     Active: failed (Result: signal) since Sun 2026-10-18 17:06:37 UTC; 1s ago
  • loaded в начале строки Loaded значит, что systemd прочитал файл юнита, и путь к нему стоит рядом.

  • failed в строке Active — о работе сейчас: nginx завершился сбоем. Автозапуск — в строке Loaded, и там enabled.

  • После сбоя в строке Loaded по-прежнему enabled: сбой меняет работу сейчас, автозапуск остаётся прежним.

enabled в строке Loaded значит, что при загрузке systemd запустит nginx. failed в строке Active говорит только о том, что сейчас nginx не работает после сбоя.

Главное в шаге

  • active — служба работает сейчас, enabled — запустится при загрузке; одно не следует из другого.
  • systemctl is-active и systemctl is-enabled печатают по одному состоянию, systemctl status — оба.
Ubuntu 24.04
Загрузка…