Страница 1 из 2
Systemd-ui
Добавлено: 07 фев 2018, 15:02
abulaev2008
Почитав тему
viewtopic.php?t=60 нашел программу Systemadm.
Установка: apt install systemd-ui
Выглядит так:
Хотелось бы подробностей, может кто пользовался. И как это применимо к настройке запуска системы.
Systemd-ui
Добавлено: 07 фев 2018, 18:24
di_mok
Решил взглянуть, поставил, а у меня без кнопочек, почему-то
Systemd-ui
Добавлено: 07 фев 2018, 19:05
Griffe
Панель нижнюю вверх вытяни.
Systemd-ui
Добавлено: 07 фев 2018, 19:53
di_mok
Получилось. Не шибко полезная вещь. Включить\выключить сервисы можно, а совсем потушить нельзя
Systemd-ui
Добавлено: 09 фев 2018, 20:35
abulaev2008
а вот скажите откуда systemd знает кого запускать, а кого нет при старте. Просто где это находится.Физически. 2(ДВА) дня в интернете и не понял, где это... И как отмечаются демоны не запущенные.
Systemd-ui
Добавлено: 09 фев 2018, 20:42
di_mok
Кому назначено
enable
запускается, кому
disable
нет. Взгляни, будет полезно, раз интересуешься
Список service-юнитов systemd
Systemd-ui
Добавлено: 09 фев 2018, 20:58
Chocobo
abulaev2008 писал(а): ↑09 фев 2018, 20:35
а вот скажите откуда systemd знает кого запускать, а кого нет при старте.
systemctl list-unit-files
- покажет все юнит-файлы, а STATE - их состояние.
Systemd-ui
Добавлено: 09 фев 2018, 21:12
abulaev2008
да это вроде/ Ладно, откуда системД знает какие запускать, а какие нет. И где демоны отмечаются как Disable Где этот файл, и есть ли он?
Systemd-ui
Добавлено: 09 фев 2018, 21:23
Chocobo
abulaev2008, родные юниты диктуются зависимостями от target'ов, там довольно комплексная система для тонкого управления поведением сервисов.
Т.е при запуске определенного таргета - будут вызываться юниты которые к нему явно указаны, также линковка идет к таргетам которые от него зависят
Код: Выделить всё
chocobo@desktop ~ $ sudo systemctl enable NetworkManager-wait-online.service
Created symlink from /etc/systemd/system/network-online.target.wants/NetworkManager-wait-online.service to /lib/systemd/system/NetworkManager-wait-online.service
Код: Выделить всё
chocobo@desktop ~ $ sudo systemctl disable NetworkManager-wait-online.service
Removed symlink /etc/systemd/system/network-online.target.wants/NetworkManager-wait-online.service.
те, что по старинке еще живут в /etc/init.d/ - управляются runlevel'ами
Код: Выделить всё
chocobo@desktop ~ $ sudo systemctl disable ntp.service
[sudo] пароль для chocobo:
Synchronizing state of ntp.service with SysV init with /lib/systemd/systemd-sysv-install...
Executing /lib/systemd/systemd-sysv-install disable ntp
insserv: warning: current start runlevel(s) (empty) of script `ntp' overrides LSB defaults (2 3 4 5).
insserv: warning: current stop runlevel(s) (1 2 3 4 5) of script `ntp' overrides LSB defaults (1).
Systemd-ui
Добавлено: 09 фев 2018, 22:15
abulaev2008
Chocobo писал(а): ↑09 фев 2018, 21:23
chocobo@desktop ~ $ sudo systemctl disable ntp.service
так все-таки
где эта команда сохраняется, что при последующем старте системы сервис не запускается
Systemd-ui
Добавлено: 09 фев 2018, 22:25
Chocobo
abulaev2008, не знаю как тебе объяснить еще, вроде все наглядно)
Команда нигде не записывается, она управляет линками в служебных директориях системды, которая при запуске их вычитывает и запускает слинкованные юниты.
Вот почитай, например -
https://habrahabr.ru/company/southbridge/blog/255845/
Предложенный там условный юнит несет в себе директиву
Это значит что
enable
- добавит его к
/etc/systemd/system/multi-user.target.wants/
, которая всенепреммено дернет его при запуске
а
disable
выпилит ссылку оттуда, и т.к. больше никуда он не ссылается - запущен не будет
Systemd-ui
Добавлено: 09 фев 2018, 22:30
symon2014
abulaev2008 писал(а): ↑09 фев 2018, 22:15
так все-таки где эта команда сохраняется, что при последующем старте системы сервис не запускается
Таки всё-таки эта команда сохраняется в такой заднице , до которой просто любопытные лузеры не доберутся. А для просвещения любопытства посмотрите и вникните ( по возможности ) в это --->
https://www.youtube.com/playlist?list=P ... E91536055B
Systemd-ui
Добавлено: 10 фев 2018, 07:58
rogoznik
etamax писал(а): ↑09 фев 2018, 22:30
Таки всё-таки эта команда сохраняется в такой заднице
Еще раз
Chocobo писал(а): ↑09 фев 2018, 22:25
Команда нигде не записывается, она управляет линками в служебных директориях системды
Т.е. происходит примерно следующее:
Есть systemd-unit
unit.service
лежит этот файлик в
/etc/systemd/system
(папка для хранения пользовательских юнитов).
Чтоб включить этот юнит даем команду
sudo systemctl enable unit.service
в ответ получим
Код: Выделить всё
Created symlink from /etc/systemd/system/multi-user.target.wants/unit.service to /etc/systemd/system/unit.service.
Создание ссылки такой-то на файл такой-то. Т.е. по сути была выполнена команда
Код: Выделить всё
sudo ln -s /etc/systemd/system/unit.service /etc/systemd/system/multi-user.target.wants/unit.service
Ну и далее systemd видит что там что-то есть юнит и запускает его.
При
sudo systemctl disable unit.service
увидим
Код: Выделить всё
Removed symlink /etc/systemd/system/multi-user.target.wants/unit.service.
Удалена ссылка такая-то. Т.е. была выполнена команда
Код: Выделить всё
sudo rm /etc/systemd/system/multi-user.target.wants/unit.service
Как-то так.
Systemd-ui
Добавлено: 10 фев 2018, 08:08
abulaev2008
etamax писал(а): ↑09 фев 2018, 22:30
до которой просто любопытные лузеры не доберутся
есть такое.
Systemd-ui
Добавлено: 10 фев 2018, 08:18
symon2014
Ну раз есть, то
вот оно. )))
Systemd-ui
Добавлено: 10 фев 2018, 09:22
abulaev2008
etamax, хочу понять вывод
, должен соответствовать какому системному каталогу
Systemd-ui
Добавлено: 10 фев 2018, 09:59
symon2014
abulaev2008, "
systemd
-
менеджер системы и служб для Linux"
Не может он заведовать только одной кладовкой (каталогом).

Он же манАгер!

Systemd-ui
Добавлено: 10 фев 2018, 10:33
abulaev2008
etamax, Это словоблудие достало. Все ссылки по данному вопросу изучил.
ВОПРОС: Откуда(из каких каталогов, конфигов) Системд знает что запускать при инициализации. Есть несколько каталогов systemd, которые расположены в /etc, /usr и т.д. Перечень ссылок, файлов в них должно совпадать (по простому) с выводом systemctl? Мне не нужно писать свои сервисы, просто где этот *.conf, *.sys, *.bat, *.reg или каталог(и) расположен

Systemd-ui
Добавлено: 10 фев 2018, 11:38
Chocobo
abulaev2008, да нет такого конфига, в котором перечислены вкл и выкл юниты.
Есть такое понятие как
ранлевелы
В systemd они представлены следующим образом
Код: Выделить всё
lrwxrwxrwx 1 root root 15 фев 6 15:14 runlevel0.target -> poweroff.target
lrwxrwxrwx 1 root root 13 фев 6 15:14 runlevel1.target -> rescue.target
lrwxrwxrwx 1 root root 17 фев 6 15:14 runlevel3.target -> multi-user.target
lrwxrwxrwx 1 root root 16 фев 6 15:14 runlevel5.target -> graphical.target
lrwxrwxrwx 1 root root 13 фев 6 15:14 runlevel6.target -> reboot.target
Так вот эти таргеты можно назвать группировкой юнитов, где диктуется при каких условиях та или иная служба должна запускаться. При штатном запуске система грузиться из
sysinit.target
в
multi-user.target
, и при вызове этого таргета системд заглянет в
multi-user.target.wants
где будут перечислены симлинки на автозапускаемые сервисы.
Чтоб попасть туда - в самом подчиненном .service-юните в блоке [Install] указано к какому таргету оно будет привязано при запуске. На основании этой информации systemctl и будет раскидывать симлинки.
Также, кроме запуска самого сервиса, если в его юните через required указаны другие службы от запуска которых он зависит - systemctl вычитает и добавит их тоже, если в юните указано, что вызываемая служба требует для своего запуска некую другую, которая пока никем не вызывается.
Таргетов может быть произвольное количество, админ может завести отдельные группы сервисов своего стека в отдельный таргет, чтоб управлять ими вне зависимости от состояния прочих.
На основе этой иерархиии взаимосвязей и строится порядок загрузки. Хотелось лаконичней, но тут можно еще на многостраниц расписать взаимосвязей

Systemd-ui
Добавлено: 10 фев 2018, 11:46
symon2014