💾 Archived View for tilde.team › ~rami › redhat_systemd.gmi captured on 2023-01-29 at 04:20:22. Gemini links have been rewritten to link to archived content

View Raw

More Information

➡️ Next capture (2023-12-28)

-=-=-=-=-=-=-

~Rami ₪ MANUALS

רמי

SUBJECT: Systemd (Systemctl): Команды и управление юнитами

AUTHOR: Rami Rosenfeld

DATE: 12/09/22

TIME: 15.00

LANG: ru, en

LICENSE: GNU FDL 1.3

TAGS: gnu, gnome, software, opensource, linux, system, man, manual, bash, privacy, security, rhel, centos, mate, xfce, lxde, spin, de, systemd, systemctl, selinux, firewalld, dnf, rpm

Systemd (Systemctl): Команды и управление юнитами

INTRO

В разделе приведены наиболее употребимые и полезные команды управления всей(!) ОС средствами Systemd (Systemctl), поэтому примите к сведению два предупреждения:

Важно: Будьте крайне внимательны и осторожны! Отключение любого из системных юнитов может привести к неработоспособности всей ОС!

Важно: Отключайте, блокируйте и маскируйте юниты только(!) в том случае, если вы понимаете, что делаете и уверены в конечном результате. Например: avahi, cups, samba, sshd, bluetooth и т.п.

NOTE

Systemctl

systemctl reboot

systemctl poweroff

systemctl daemon-reload

systemctl

systemctl list-units

systemctl --failed

systemctl list-unit-files

Юниты делятся на группы. Основные:

- сервисы (.service);

- точки монтирования (.mount);

- сокеты (.sockets).

Кроме того, существуют также:

- automount;

- swap;

- target;

- path;

- timer;

- snapshot;

- slice;

- scope.

Примечание: При использовании systemctl необходимо указывать полное имя файла с его расширением. Но есть и нюансы:

- если привести имя без суффикса, systemctl предположит, что это .service. Например "name" = "name.service";

- точки монтирования автоматически преобразуются в юнит .mount. Например: "/folder_name" = "folder_name.mount";

- имена устройств автоматически преобразуются в юнит .device. Например: "/dev/sda1" = "dev-sda1.device".

Примечание: Обратите внимание на регистр букв в именах: "Name.service" и "name.service" - это абсолютно разные юниты!

Проверка статус юнита и его состояния:

systemctl status name.service

Проверка автозагрузки юнита при старте ОС:

systemctl is-enabled name.service

Показать help для юнита:

systemctl help unit

Запуск юнита:

systemctl start name.service

Остановка юнита:

systemctl stop name.service

Активация юнита (с автозапуском при загрузке ОС):

systemctl enable name.service

Активация и запуск юнита (с автозапуском при загрузке ОС):

systemctl enable name.service && systemctl start name.service

Деактивация юнита (с отключением автозапуска при загрузке ОС):

systemctl disable name.service

Остановка и деактивация юнита (с отключением автозапуска при загрузке ОС):

systemctl stop name.service && systemctl disable name.service

Полное отключение и деактивация юнита с "маскировкой"

systemctl stop name.service && systemctl mask name.service

Примечание: команда mask необходима, чтобы заблокированный юнит не был активирован сторонней службой или при очередном обновлении ОС.

Перезапуск юнита (в случае неработоспособности):

systemctl restart name.service

Перезагрузка настроек юнита (после внесения изменений):

systemctl reload name.service

Просмотр лога деятельности отдельного юнита:

journalctl -u name.service

Связанные команды (информация)

man hostnamectl

man localectl

man timedatectl

Редактирование и пример name.service

systemctl edit name.service

[Unit]

Description=Name of the Service

After=some.target

Wants=some.target

[Service]

Type=simple

BusName=org.freedesktop.Name

ExecStart=/usr/libexec/name-daemon

Environment=

PrivateTmp=true

[Install]

WantedBy=graphical.target

Создание нового юнита systemd

nano /etc/systemd/system/name.service

Важно! Общее примечание:

После внесения изменений в конфигурационные файлы юнитов (.service и т.п.) может потребоваться перезагрузка systemd (с применением изменений и поиском новых юнитов):

systemctl daemon-reload

Подробнее см.:

Understanding and Administering systemd

Handy Systemd Commands

Systemd Services

₪ Back to home ₪

🄯 Rami Rosenfeld, 2022. GNU FDL 1.3.