systemd
/usr/lib/systemd/system/: юниты, предоставляемые пакетами при их установке
/etc/systemd/system/: юниты, устанавливаемые системным администратором

Просмотреть список всех активных юнитов
$ systemctl list-units

Покажет любой юнит, который система загрузила или попыталась загрузить, независимо от текущего состояния в системе
$ systemctl list-units --all

неактивные юниты:
$ systemctl list-units --all --state=inactive

Посмотреть только активные юниты служб:
$ systemctl list-units --type=service

Вывод списка всех файлов юнитов
$ systemctl list-unit-files

Посмотреть только юниты, добавленные в автозагрузку:
$ systemctl list-unit-files | grep enabled

Увидеть дерево зависимостей юнита:
$ systemctl list-dependencies юнит
Чтобы показать обратные зависимости (юниты, зависящие от указанного юнита), вы можете добавить в команду флаг --reverse.

Проверка свойств юнита:
$ systemctl show юнит

Незамедлительно запустить юнит:
# systemctl start юнит

Незамедлительно остановить юнит:
# systemctl stop юнит

Перезапустить юнит:
# systemctl restart юнит

Попросить юнита перезагрузить его настройки:
# systemctl reload юнит

Показать статус юнита, а также запущен он или нет:
$ systemctl status юнит

Проверить, включен ли юнит в автозапуск при загрузке системы:
$ systemctl is-enabled юнит

Проверить, активен ли данный юнит:
$ systemctl is-active юнит

Включить юнит в автозапуск при загрузке системы:
# systemctl enable юнит

Убрать юнит из автозапуска при загрузке системы:
# systemctl disable юнит

Маскировать юнит, чтобы сделать невозможным его запуск:
# systemctl mask юнит

Снять маску юнита:
# systemctl unmask юнит

Показать страницу справочного руководства, связанного с юнитом (необходима поддержка этой функции в указанном файле юнита):
$ systemctl help юнит

Перезагрузить systemd для поиска новых или измененных юнитов:
# systemctl daemon-reload

список запущенных юнитов
$ systemctl list-unit-files | grep enabled

службы systemd, которые не смогли запуститься:
$ systemctl --failed

какие именно системные компоненты заставляют systemd ждать так долго
$ systemd-analyze blame




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

Завершить работу и перезагрузить систему:
$ systemctl reboot

Завершить работу и выключить компьютер (с отключением питания):
$ systemctl poweroff

Перевести систему в ждущий режим:
$ systemctl suspend

Перевести систему в спящий режим:
$ systemctl hibernate

Перевести систему в режим гибридного сна (или suspend-to-both):
$ systemctl hybrid-sleep

https://wiki.archlinux.org/index.php/Systemd_(Русский)
Как использовать Systemctl для управления службами Systemd и юнитами

список команд systemd
systemd-analyze                - выводит информацию о времени загрузки системы и ее производительности
systemctl                      - основная команда для управления службами и юнитами в systemd. Используется для запуска, остановки, перезапуска и проверки статуса служб
systemd-cgls                   - выводит древовидную структуру контрольных групп (cgroups)
systemd-cgtop                  - выводит список процессов, запущенных в контрольных группах
systemd-analyze blame          - выводит список юнитов и время, затраченное на их запуск
systemd-analyze critical-chain - выводит диаграмму зависимостей юнитов и время, затраченное на запуск каждого из них
systemd-delta                  - показывает изменения в конфигурационных файлах, сделанные пользователем или системой
systemd-nspawn                 - запускает новый процесс в изолированном окружении
systemd-run                    - запускает произвольную команду в новом юните systemd
systemd-escape                 - кодирует или декодирует строку для использования в юнит-файлах systemd
journalctl                     - просмотр журнала системных сообщений
localectl                      - управление настройками локализации и клавиатуры
timedatectl                    - управление настройками времени и даты

journalctl
Доступ к журналу
gpasswd -a $USER wheel

Фильтрация сообщений по уровню ошибки

Вывод лога в текстовый файл
journalctl -b > /home/user/debug.log

Показывать записи журнала с момента запуска системы с расшифровкой ошибок:
journalctl -xb


journalctl -b # последняя загрузка
journalctl -b -1 # предыдущая загрузка

journalctl -b 0
journalctl -p err -b
journalctl -p err -b -1 -u NetworkManager

0 — EMERG (система неработоспособна);
1 — ALERT (требуется немедленное вмешательство);
2 — CRIT (критическое состояние);
3 — ERR (ошибка);
4 — WARNING (предупреждение);
5 — NOTICE (всё нормально, но следует обратить внимание);
6 — INFO (информационное сообщение);
7 —DEBUG (отложенная печать)

Просмотр сообщений ядра
journalctl -k
journalctl -k -b -2
journalctl --dmesg

Фильтрация по приложениям и службам
journalctl -u httpd.service -u mysql.service
journalctl -u nginx.service -u php-fpm.service —since today

Фильтрация по процессам, пользователям и группам

Просмотреть список всех доступных фильтров
man systemd.journal-fields

journalctl -F _PID # процессы
journalctl -F _UID # пользователи
journalctl -F _GID # группы

просмотреть логи всех процессов, запущенных от имени этого пользователя:
id -u www-data
journalctl _UID=33

Фильтрация по пути
journalctl /usr/bin/docker

фильтрация по дате и времени
journalctl --since "2017-05-05 00:01" --until "2017-05-06 01:40"


cat — только сообщения из логов без служебных полей;
export — бинарный формат, подходит для экспорта или резервного копирования логов;
short — формат вывода syslog;
short-iso — формат вывода syslog с метками времени в формате ISO 8601;
short-monotonic — формат вывода syslog c метками монотонного времени (monotonic timestamp);
short-precise — формат вывода syslog с метками точного времени (время событий указывается с точностью до микросекунд);
verbose — максимально подробный формат представления данных (включает даже те поля, которые в других форматах не отображаются).


Просмотр логов в режиме реального времени
journalctl -f

Просмотр информации о недавних событиях
journalctl -n
journalctl -n 20

Запись в журнал
systemd-cat echo "Текст сообщения"
journalctl -f
апр 18 01:14:13 arch1 echo[4822]: Текст сообщения

Поиск информации в журнале
journalctl SYSLOG_IDENTIFIER=Test
выводит все сообщения имеющие идентификатор сообщения Test.

Запись логов в стандартный вывод
journalctl --no-pager > log.txt

Выбор формата вывода
journalctl -u nginx.service -o json


Анализ этапа загрузки
Выявляем самые медленные процессы (от пользователя):

systemd-analyze blame
Выводим график загрузки процессов в векторный рисунок:

systemd-analyze plot > file.svg

Управление логгированием

Текущие разрешенные лимиты для журналов на диске и в памяти
systemctl status systemd-journald
journalctl -t systemd-journald

Все загрузки системы
journalctl --list-boots

Определение текущего объёма логов
journalctl --disk-usage

Настройка ротации логов в конфигурационном файле

/etc/systemd/journald.conf
/var/log/journal/

SystemMaxUse= максимальный объём, который логи могут занимать на диске;
SystemKeepFree= объём свободного места, которое должно оставаться на диске после сохранения логов;
SystemMaxFileSize= объём файла лога, по достижении которого он должен быть удален с диска;
RuntimeMaxUse= максимальный объём, который логи могут занимать в файловой системе /run;
RuntimeKeepFree= объём свободного места, которое должно оставаться в файловой системе /run после сохранения логов;
RuntimeMaxFileSize= объём файла лога, по достижении которого он должен быть удален из файловой системы /run.


systemctl restart systemd-journald # применить конфигурацию
journalctl --vacuum-size=100M # автоматически удалять все логи при превышении объёма
journalctl --vacuum-time=1months # Удалить все логии старше последнего месяца
systemctl status systemd-journald
journalctl -t systemd-journald

Централизованное хранение логов

С помощью команды systemd-journal-remote можно принимать логи с удалённых хостов
на каждом их этих хостов должен быть запущен демон systemd-journal-gatewayd
systemd-journal-remote −−url https://some.host:19531/

Команда systemd-journal-upload используется для загрузки логов с локальной машины в удалённое хранилище:
systemd-journal-upload --url https://some.host:19531/
journalctl -o export | systemd-journal-remote -o /tmp/dir -


coredumpctl
https://www.altlinux.org/Features/Core
5 инструментов из состава systemd, которые следует начать использовать прямо сейчас

Очистка списка coredumpctl
Сначала удалить журнал, удалив записи старше одного дня:
journalctl --vacuum-time=1d
Поскольку в списке «coredumpctl» перечислены файлы дампа, записанные журналом, вы можете вручную удалить файлы дампа из /var/lib/systemd/coredump, которых нет в списке.
coredumpctl list
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

Profile

uzverss: (Default)
uzverss

December 2024

S M T W T F S
12345 67
891011121314
15161718192021
22232425262728
293031    

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 22nd, 2026 03:02 am
Powered by Dreamwidth Studios