💾 Archived View for tilde.team › ~rami › redhat_systemd_disabling.gmi captured on 2024-03-21 at 16:17:00. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2023-12-28)
-=-=-=-=-=-=-
רמי
SUBJECT: Systemctl (Systemd): Отключение/маскировка неиспользуемых юнитов
AUTHOR: Rami Rosenfeld
DATE: 27/11/23
TIME: 01.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, ostree, flatpak, siverblue
Некоторые ненужные системные юниты Systemd могут быть отключены средствами Systemctl. Ниже приводится мой личный список отключенных либо "замаскированных" юнитов с их кратким описанием.
ВАЖНО! Вначале ознакомьтесь с более глобальным руководством:
Systemctl (Systemd): Команды и управление юнитами
ВАЖНО! Будьте крайне внимательны и осторожны! Отключение или маскировка любого из системных юнитов может привести к неработоспособности всей ОС! Отключайте или маскируйте юниты только(!) в том случае, если вы понимаете, что делаете и уверены в конечном результате.
Отдельные юниты Systemd "самоликвидируются" при удалении одноименных пакетов. Так, если исполнить команду:
dnf remove abrt*
то будут удалены и соответствующие юниты Systemd, например:
abrtd.service
abrt-journal-core.service
abrt-oops.service
abrt-pstoreoops.service
abrt-vmcore.service
abrt-xorg.service
Удаление системного инсталлера Fedora - Anaconda (он абсолютно не нужен после установки ОС), приведет к удаление следующих юнитов:
anaconda-direct.service
anaconda-fips.service
anaconda-nm-config.service
anaconda-nm-disable-autocons.service
anaconda-noshell.service
anaconda-pre.service
anaconda.service
anaconda-sshd.service
То же самое произойдет при удалении пакетов поддержки системы чтения Брайля - brltty и т.п.
ВАЖНО! Перед деинсталляцией подобных пакетов внимательно проверьте, не удаляются ли вместе с ними критичные системные зависимости. Подробнее см. материал:
GNOME (MATE, XFCE, LXDE): Анализ системы и очистка после инсталляции
Получить сводку о том или ином юните можно, выполнив команду:
systemctl help name.service|socket|path
Эти действия производятся следующими командами:
systemctl stop name.service && disable name.service
или
systemctl stop name.service && mask name.service
В частности, я отключаю:
1)
avahi.service
- систему, позволяющую при подключении к сети "публиковать" сведения о появившейся машине и опознавать окружение;
2)
cups.service
cups.path
cups.socket
- общую систему обеспечения печати и сопутствующие средства;
3)
samba.service
- систему сетевого взаимодействия по протоколу SMB/CIFS с компьютерами на DOS, Windows, Linux;
4)
sshd.service
- демон OpenSSH;
5)
bluetooth.service
bluetooth.target
- обеспечение взаимодействия с устройствами bluetooth (передача данных, мультимедийные функции); также может быть автоматически удален после деинсталляции пакета bluez (осторожно!)
6)
ModemManager.service
- обеспечение модемного соединения (например, со смартфоном в качестве модема);
7)
geoclue.service
- геоинформационный сервис;
8)
flatpak-add-fedora-repos.service
flatpak-system-helper.service
- систему установки и поддержки пакетов Flatpak.
9)
Если все предшествующие юниты запрещались от имени администратора, то маскирование (не деактивация!) системы индексации и поиска Tracker производится от обычного пользователя:
systemctl --user mask tracker-extract-3.service tracker-miner-fs-control-3.service tracker-xdg-portal-3.service tracker-miner-fs-3.service tracker-writeback-3.service tracker-miner-rss-3.service
Подробнее об этой операции см.:
Tracker: Полное отключение (маскировка) системы индексации
ВАЖНО! Некоторые юниты, будучи деактивированными, могут вновь "включиться" автоматически - после обновления или глобального апгрейда ОС. В подобных случаях следует выполнять не "деактивацию", а "маскировку" юнита. Но это - палка о двух концах, т.к. определенные юниты могут потребоваться Systemd для успешной загрузки операционной системы; говоря техническим языком, они "WantedBy=name.target".
10)
В частности, это касается сервиса "NetworkManager-wait-online.service", который я рекомендую деактивировать, но не маскировать. Подробности см.:
NetworkManager-wait-online: Отключение сервиса
Для этих действий предназначены две команды:
systemd-analyze
Startup finished in 1.624s (kernel) + 29.001s (initrd) + 17.374s (userspace) = 48.000s
graphical.target reached after 17.340s in userspace.
и
systemd-analyze blame
(...)
146ms raid-check.service
139ms cups.service
136ms systemd-tmpfiles-setup.service
114ms dev-zram0.swap
112ms systemd-userdbd.service
108ms dev-hugepages.mount
107ms gssproxy.service
106ms dev-mqueue.mount
100ms logrotate.service
96ms sys-kernel-debug.mount
94ms kmod-static-nodes.service
94ms sys-kernel-tracing.mount
90ms rpmdb-migrate.service
88ms systemd-tmpfiles-clean.service
(...)
🄯 Rami Rosenfeld, 2023. GNU FDL 1.3.