Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Оглавление
stylenone

Введение

systemd – системный менеджер, управляющий операционной системой и службами. При загрузке операционной системы первым запускается менеджер systemd, который запускает остальную часть операционной системы (далее ОС).

...

Юниты делятся на системные и пользовательские. Системные юниты запускаются от имени привилегированного пользователя. Пользовательские – от имени обычного пользователя.

Типы юнитов

Существует одиннадцать типов юнитов:

Тип юнитаНазначение юнита
service
Управляет службой, программой
socketУправляет локальным IPC или сетевым сокетом
target

Объединяет набор юнитов для достижения какого-либо целевого состояния операционной системы.

Например, юнит для остановки ОС, юнит для перевода ОС в режим восстановления

device

Отражает какое-либо устройство компьютера.

Например, юнит для жёсткого диска, юнит для сетевой карты

mount
Управляет точкой монтирования в файловой системе
automount
Управляет автомонтированием накопительных устройств
timer
Активирует другие юниты по таймеру
swap
Управляет разделом или файлом подкачки
path
Активирует какую-либо службу при изменении объекта файловой системы, находящегося по заданному пути
slice
Объединяет набор юнитов, чтобы управлять потреблением ресурсов этими юнитами
scope

Управляет службой, запущенной НЕ менеджером systemd.

Scope-юнит создаётся программно через API-интерфейс менеджера systemd. Этим он отличается от service-юнита, который описывается с помощью юнит-файла

Управление операционной системой

Остановка и перезагрузка операционной системы

Для остановки ОС используется команда:

...

Command

sudo systemctl reboot

Режим восстановления операционной системы

В каких-то случаях может потребоваться режим восстановления ОС, при котором запущено минимальное количество процессов.

...

Режим ОСОписание

initializing

Ранний этап загрузки ОС
starting
Поздний этап загрузки ОС
running
Нормальный режим работы ОС
degraded
ОС работает в нормальном режиме, но у каких-то юнитов есть ошибки
maintenance
ОС работает в режиме восстановления
stopping
Идёт процесс остановки работы менеджера systemd
offline
Менеджер systemd не запущен
unknown
Режим работы ОС не определён из-за нехватки ресурсов или по иной причине

Управление юнитами

Запуск и остановка юнитов

Для запуска (активации) юнита используется команда:

...

где <unit_name> – название юнита.

Автозапуск юнитов

Менеджер systemd может автоматически запускать юниты, например, при загрузке ОС или при подключении к компьютеру определённого оборудования.

...

где <unit_name> – название юнита.

Отображение информации о юнитах

Для отображения состояния юнита, а также последней информации из журнала работы юнита, используется команда:

...

где <unit_name> – название юнита.

Раскрыть
titleПример Нажмите, чтобы раскрыть пример вывода команды...
Блок кода
$ sudo systemctl status ssh
● ssh.service - OpenBSD Secure Shell server
  Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
  Active: active (running) since Mon 2025-08-04 08:10:10 MSK; 8h ago
    Docs: man:sshd(8)
          man:sshd_config(5)
Main PID: 1242 (sshd)
   Tasks: 1 (limit: 2239)
  Memory: 1.2M
     CPU: 15ms
  CGroup: /system.slice/ssh.service
          └─1242 sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups

авг 04 08:10:10 alse-vanilla-gui sshd[1242]: Server listening on 0.0.0.0 port 22.
авг 04 08:10:10 alse-vanilla-gui sshd[1242]: Server listening on :: port 22.
авг 04 08:10:10 alse-vanilla-gui systemd[1]: Starting OpenBSD Secure Shell server...
авг 04 08:10:10 alse-vanilla-gui systemd[1]: Started OpenBSD Secure Shell server.

где

  • в строке "  Loaded:" отображается:
        - /lib/systemd/system/ssh.service – путь к юнит-файлу;
        - enabled (после пути к юнит-файлу) – означает, что включён автозапуск юнита;
  • в строке "  Active:" отображается:
        - active (running) – означает, что юнит активен (служба запущена).

...

Command

sudo systemctl status

Раскрыть
titleНажмите здесь, чтобы раскрыть пример вывода команды...
Блок кода
$ sudo systemctl status 
rbta-ekb-lt-123456.astralinux.ru
    State: degraded
    Units: 523 loaded (incl. loaded aliases)
     Jobs: 0 queued
   Failed: 4 units
    Since: Tue 2025-08-05 08:50:54 +05; 7h ago
  systemd: 252.17-1~deb12u1astra.se3+ci2
   CGroup: /
           ├─1454 /opt/kaspersky/kesl/libexec/kesl
           ├─init.scope
           │ └─1 /sbin/init splash
           ├─system.slice
           │ ├─ModemManager.service
           │ │ ├─1334 /usr/sbin/ModemManager
           │ │ └─2478 /usr/libexec/mbim-proxy
           │ ├─NetworkManager.service
           │ │ ├─2071 /usr/sbin/NetworkManager --no-daemon
           │ │ ├─7647 /usr/lib/NetworkManager/nm-openconnect-service --bus-name org.freedesktop.NetworkManager.openconnect.Connection_4
           │ │ └─7737 /usr/sbin/openconnect --servercert pin-sha256:qTme6hdkT1xgmWjngi0kAL8AShIN2kAn5CfzpT/I/rI= --syslog --cookie-on-s>
           │ ├─accounts-daemon.service
           │ │ └─1647 /usr/libexec/accounts-daemon
           │ ├─acpid.service
           │ │ └─1235 /usr/sbin/acpid
           │ ├─assistant.service
           │ │ ├─  2902 /opt/assistant/bin/asts
           │ │ ├─  5642 sudo -u root -H /opt/assistant/bin/astrct -ISS:1 -PID:2902 -PIPE:/tmp/assistant/pipes/28CDA78A75FA4537BC586BE86>
           │ │ ├─  5654 /opt/assistant/bin/astrct -ISS:1 -PID:2902 -PIPE:/tmp/assistant/pipes/28CDA78A75FA4537BC586BE86F7CEB2E_63A9F0EA>
           │ │ ├─  6081 sudo -u sbutakov -H /opt/assistant/bin/astrct -ISS:1 -PID:2902 -PIPE:/tmp/assistant/pipes/28CDA78A75FA4537BC586>
           │ │ ├─  6083 /opt/assistant/bin/astrct -ISS:1 -PID:2902 -PIPE:/tmp/assistant/pipes/28CDA78A75FA4537BC586BE86F7CEB2E_A92E540C>
           │ │ └─114451 ps ax -o stat,comm
           │ ├─astra-event-diagnostics-healthcheck.service
           │ │ └─4711 /usr/bin/python3 /usr/bin/astra-event-diagnostics --healthcheck -c /etc/astra-event-diagnostics/astra-event-diagn>
           │ ├─auditd.service
           ...

Журналы работы операционной системы и служб

Служба journald собирает и хранит журналы работы операционной системы и служб.

...

Подробнее о команде просмотра журнала см. справку "man journalctl".

Расположение файлов и каталогов менеджера systemd

Файл или каталогОписание
/etc/systemd/Каталог с файлами настроек *.conf менеджера systemd
/etc/systemd/system/
Каталог с автозапускаемыми системными юнит-файлами, запускаемыми при старте ОС
/etc/systemd/user/
Каталог с с автозапускаемыми пользовательскими юнит-файлами, запускаемыми при старте ОС
/lib/systemd/system/
(фактически это /usr/lib/systemd/system/)

Каталог доступных системных юнит-файлов.

В каталог устанавливаются системные юнит-файлы во время установки программ

/usr/lib/systemd/user/

Каталог доступных пользовательских юнит-файлов.

В каталог устанавливаются пользовательские юнит-файлы во время установки программ

/etc/systemd/journald.conf

Файл с настройками службы журналирования journald

/var/log/journal/<machine-id>/

Каталог для постоянного хранения журналов работы ОС и служб.

<machine-id> – уникальный идентификатор локального компьютера. Идентификатор хранится в файле /etc/machine-id

/run/log/journal/

Каталог для временного хранения журналов работы ОС и служб.

Каталог используется, если не доступен каталог для постоянного хранения /var/log/journal/,   (например, во время старта ОС.)