Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

« Предыдущий Версия 28 Следующий »

Введение

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

Менеджер systemd:

  • запускает и останавливает операционную систему;
  • управляет запуском и остановкой служб;
  • монтирует файловые системы;
  • ведёт журналы работы операционной системы и служб.

Менеджер systemd оперирует так называемыми юнитами (unit). Юниты отражают различные сущности операционной системы: службы, устройства, точки монтирования и др. Для каждой сущности используется свой тип юнитов. Между юнитами имеются зависимости. Менеджер systemd управляет юнитами с учётом этих зависимостей.

Для получения справки о менеджере используется команда:

man systemd


TODO:

  • man systemctl
  • man systemd.unit

Юниты и их состояния

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

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

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

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

device

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

Например, жёсткий диск, сетевая карта.

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

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

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


Юнит необходимо активировать перед его использованием.

enable

disable

is-active

status

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

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

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

sudo systemctl poweroff


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

sudo systemctl reboot

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

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

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

sudo systemctl rescue


После восстановления необходимо перевести ОС в нормальный режим работы. Для этого используется команда:

sudo systemctl default


Для просмотра текущего режима работы ОС используется команда:

sudo systemctl is-system-running

Возможные режимы работы ОС:

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

initializing

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

Управление службами (юнитами)

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

sudo systemctl status <service_name>

где <service_name> – название службы.

Пример вывода команды:

$ sudo systemctl status sshd

systemctl status sshd
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.



запуск, 

остановка,

автозапуск,

перезапуск,

перечитывание настроек

Системные и пользовательские службы.

Журналы работы

системные журналы

журналы служб

journalctl --unit=

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

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

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

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

/usr/lib/systemd/user/

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

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



  • Нет меток