Страница 1 из 2

Systemd-ui

Добавлено: 07 фев 2018, 15:02
abulaev2008
Почитав тему viewtopic.php?t=60 нашел программу Systemadm.
Установка: apt install systemd-ui
Выглядит так:
Снимок экрана от 2018-02-07 14-28-43.png
Хотелось бы подробностей, может кто пользовался. И как это применимо к настройке запуска системы.

Systemd-ui

Добавлено: 07 фев 2018, 18:24
di_mok
Решил взглянуть, поставил, а у меня без кнопочек, почему-то
Снимок экрана от 2018-02-07 18-23-14.png

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/
Предложенный там условный юнит несет в себе директиву

Код: Выделить всё

[Install]
WantedBy=multi-user.target 
Это значит что 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
abulaev2008 писал(а):
10 фев 2018, 08:08
есть такое.
Ну раз есть, то вот оно. )))

Systemd-ui

Добавлено: 10 фев 2018, 09:22
abulaev2008
etamax, хочу понять вывод

Код: Выделить всё

systemctl list-units
, должен соответствовать какому системному каталогу

Systemd-ui

Добавлено: 10 фев 2018, 09:59
symon2014
abulaev2008, "systemd - менеджер системы и служб для Linux"
Не может он заведовать только одной кладовкой (каталогом). :smile: Он же манАгер! :-D

Systemd-ui

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

Systemd-ui

Добавлено: 10 фев 2018, 11:38
Chocobo
abulaev2008, да нет такого конфига, в котором перечислены вкл и выкл юниты. :smile:
Есть такое понятие как ранлевелы
В 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