| Оглавление | ||
|---|---|---|
|
Введение
systemd – системный менеджер, управляющий операционной системой и службами. При загрузке операционной системы первым запускается менеджер systemd, который запускает остальную часть операционной системы (далее ОС).
...
Юниты делятся на системные и пользовательские. Системные юниты запускаются от имени привилегированного пользователя. Пользовательские – от имени обычного пользователя.
Типы юнитов
Существует одиннадцать типов юнитов:
| Тип юнита | Назначение юнита |
|---|---|
| service | Управляет службой, программой |
| socket | Управляет локальным IPC или сетевым сокетом |
| target | Объединяет набор юнитов для достижения какого-либо целевого состояния операционной системы. Например, юнит для остановки ОС, юнит для перевода ОС в режим восстановления |
| device | Отражает какое-либо устройство компьютера. Например, юнит для жёсткого диска, юнит для сетевой карты |
| mount | Управляет точкой монтирования в файловой системе |
| automount | Управляет автомонтированием накопительных устройств |
| timer | Активирует другие юниты по таймеру |
| swap | Управляет разделом или файлом подкачки |
| path | Активирует какую-либо службу при изменении объекта файловой системы, находящегося по заданному пути |
| slice | Объединяет набор юнитов, чтобы управлять потреблением ресурсов этими юнитами |
| scope | Управляет службой, запущенной НЕ менеджером Scope-юнит создаётся программно через API-интерфейс менеджера |
Управление операционной системой
Остановка и перезагрузка операционной системы
Для остановки ОС используется команда:
...
| Command |
|---|
sudo systemctl reboot |
Режим восстановления операционной системы
В каких-то случаях может потребоваться режим восстановления ОС, при котором запущено минимальное количество процессов.
...
| Режим ОС | Описание |
|---|---|
initializing | Ранний этап загрузки ОС |
| starting | Поздний этап загрузки ОС |
| running | Нормальный режим работы ОС |
| degraded | ОС работает в нормальном режиме, но у каких-то юнитов есть ошибки |
| maintenance | ОС работает в режиме восстановления |
| stopping | Идёт процесс остановки работы менеджера systemd |
| offline | Менеджер systemd не запущен |
| unknown | Режим работы ОС не определён из-за нехватки ресурсов или по иной причине |
Управление юнитами
Запуск и остановка юнитов
Для запуска (активации) юнита используется команда:
...
где <unit_name> – название юнита.
Автозапуск юнитов
Менеджер systemd может автоматически запускать юниты, например, при загрузке ОС или при подключении к компьютеру определённого оборудования.
...
где <unit_name> – название юнита.
Отображение информации о юнитах
Для отображения состояния юнита, а также последней информации из журнала работы юнита, используется команда:
...
где <unit_name> – название юнита.
| Раскрыть | ||
|---|---|---|
| ||
где
|
...
| Command |
|---|
sudo systemctl status |
| Раскрыть | ||
|---|---|---|
| ||
|
Журналы работы операционной системы и служб
Служба 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 | Файл с настройками службы журналирования |
| /var/log/journal/<machine-id>/ | Каталог для постоянного хранения журналов работы ОС и служб. <machine-id> – уникальный идентификатор локального компьютера. Идентификатор хранится в файле |
| /run/log/journal/ | Каталог для временного хранения журналов работы ОС и служб. Каталог используется, если не доступен каталог для постоянного хранения /var/log/journal/, (например, во время старта ОС.) |