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

systemd: порядок останова сервисов

Добавлено: 2017-08-15 11:00:33
dekloper
почему это говнище не работает???? :st: :st: :st: :st:

systemd: порядок останова сервисов

Добавлено: 2017-08-16 8:28:18
dekloper
пилять, ноги им повыдергивать...

этто пп.. раздник какойта

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

# whereis shutdown
shutdown: /usr/sbin/shutdown /usr/share/man/man8/shutdown.8.gz
# ll /usr/sbin | grep shut
lrwxrwxrwx. 1 root root      16 июн 28 04:48 shutdown -> ../bin/systemctl
# ln -s /usr/bin/systemctl /root/shutdown
# ln -s /usr/bin/systemctl /root/shut

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

# /root/shut
UNIT                                                                                             LOAD   ACTIVE SUB       DESCRIPTION                                               
proc-sys-fs-binfmt_misc.automount                                                                loaded active waiting   Arbitrary Executable File Formats File System Automount Poi
sys-devices-pci0000:00-0000:00:02.0-0000:03:00.0-net-eno1.device                                 loaded active plugged   NetXtreme BCM5719 Gigabit Ethernet PCIe (Ethernet 1Gb 4-por
sys-devices-pci0000:00-0000:00:02.0-0000:03:00.1-net-eno2.device                                 loaded active plugged   NetXtreme BCM5719 Gigabit Ethernet PCIe (Ethernet 1Gb 4-por
sys-devices-pci0000:00-0000:00:02.0-0000:03:00.2-net-eno3.device                                 loaded active plugged   NetXtreme BCM5719 Gigabit Ethernet PCIe (Ethernet 1Gb 4-por
sys-devices-pci0000:00-0000:00:02.0-0000:03:00.3-net-eno4.device                                 loaded active plugged   NetXtreme BCM5719 Gigabit Ethernet PCIe (Ethernet 1Gb 4-por
sys-devices-pci0000:00-0000:00:02.2-0000:02:00.0-host2-target2:1:0-2:1:0:0-block-sda-sda1.device loaded active plugged   LOGICAL_VOLUME 1
......
......

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

# /root/shutdown

Broadcast message from root@xnode02t on pts/1 (Wed 2017-08-16 12:18:53 +07):

The system is going down for poweroff at Wed 2017-08-16 12:19:53 +07!

Shutdown scheduled for Wed 2017-08-16 12:19:53 +07, use 'shutdown -c' to cancel.
как так?!! йопта!!?
почему с разных симлинков на один и тот же бинарник происходят разные безобразия...?
и почему "бинарник"? раньше, наскока помню, это был человечий баш-скрипт...

зачем мне это стильное УГ????? :evil: :evil: :evil:

systemd: порядок останова сервисов

Добавлено: 2017-08-16 10:23:21
snorlov
ты это на opennet'e расскажи, тебе там сразу расскажут, что система юнитов натолько хороша, что тебе нечего туда соваться, вдобавок добавят, что ты ч** и элементарных вещей не знаешь... А вообще-то все как то грустно с вколоченным в систему системд...

systemd: порядок останова сервисов

Добавлено: 2017-08-16 10:37:02
dekloper
ну дык и я оп чем..
че у всех знатоков `элементарных вещей` через эти замечательные юниты работает (см. 1-й пост)?
я уж тупо хотел в скрипт шатдовна while-цикл воткнуть с тестом, допустим, флажка, и дальше - ребут\шат..

а оно, бблять, опппа - это не скрипт, сцуко...

systemd: порядок останова сервисов

Добавлено: 2017-08-16 11:19:24
Neus
Ты первый раз с проделками поттера встретился?
Потому и бинарник, что этот член ненавидит скрипты и текстовый интерфейс в ipc , он даже журнал обинарил.
почему с разных симлинков на один и тот же бинарник происходят разные безобразия...?
А многие проги так делают: проверяют имя с каким её вызвали, например reboot|poweroff это симлинк/хардлинк на shutdown и их вызов эквивалентен shutdown -r|-p now.

Отправлено спустя 4 минуты 1 секунду:
Кстати, "Всё что вам нужно сделать, это поместить ваш скрипт в /usr/lib/systemd/system-shutdown/, который обрабатывается systemd-halt.service."
Чота эта хрень ни в федоре ни в опенсусе не работает, хотя я может чего не дочитал в мануале.
А у тебя какой ОС?

systemd: порядок останова сервисов

Добавлено: 2017-08-16 12:00:52
dekloper
Neus писал(а):Ты первый раз с проделками поттера встретился?

А у тебя какой ОС?
федора, ога..
блин, ну не то что первый..
просто раньше не было столь критичной зависимости в порядке останова..
ну и иногда совместмость с ntsysv выручала.. при старте..
а тут надо шат корректно отработать..

systemd: порядок останова сервисов

Добавлено: 2017-08-16 13:58:42
Neus
dekloper писал(а): ну и иногда совместмость с ntsysv выручала.. при старте..
а тут надо шат корректно отработать..
дык напиши юнит для этого сервиса вместо скрипта sysv.

systemd: порядок останова сервисов

Добавлено: 2017-08-16 13:58:42
Neus
dekloper писал(а): ну и иногда совместмость с ntsysv выручала.. при старте..
а тут надо шат корректно отработать..
дык напиши юнит для этого сервиса вместо скрипта sysv.

systemd: порядок останова сервисов

Добавлено: 2017-08-17 6:26:23
dekloper
Неус, харе тролить, мыж не на опеннете)))
"Раньше мой линукс поднимался медленно, но когда я попробовал systemd мой линукс стал подниматься гораздо быстрее..."
Сам же говоришь
Neus писал(а): Кстати, "Всё что вам нужно сделать
не канает! И я подтверждаю - быстро\стильно\молодежно - но НЕ канает, именно порядок стопа, рубится всё и сразу - "быстро".....

давай примитивно, по шагам, "как учили", отбросим мой "страшный" скрипт, который я хочу штоб он полностью отработал перед стопом.

Сделаем просто:

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

[Unit]
Description=My shutdown not worked
Requires=network.target
DefaultDependencies=no
Before=shutdown.target reboot.target


[Service]
Type=oneshot
RemainAfterExit=true
ExecStart=/bin/true
ExecStop=/usr/bin/echo "unitshut `/usr/bin/date` этосраноеунылоеговнонеработает" >> /root/unitshut.log

[Install]
WantedBy=multi-user.target
и покладем его в
/etc/systemd/system/ — юниты, созданные и управляемые системным администратором. Этот каталог приоритетнее каталога юнитов, созданных в рантайме.
, как учили

сделаем ему енабле

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

# systemctl list-unit-files | grep shut
dracut-shutdown.service                                          static         
unitshut.service                                                 disabled       
shutdown.target                                                  static        
# systemctl enable unitshut
Created symlink /etc/systemd/system/multi-user.target.wants/unitshut.service → /etc/systemd/system/unitshut.service.
и еще один вариант шата (авось штонибудь сработает, в идеале увидим два лога):

в /usr/lib/systemd/system-shutdown/ мы покладем не юнит, а наш "очень страшный" скрипт, опять же, как учили

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

# pwd
/usr/lib/systemd/system-shutdown
[root@xnode02t system-shutdown]# ll
итого 4
-rwxr-xr-x 1 root root 143 авг 17 09:57 cmdshut.sh
[root@xnode02t system-shutdown]# cat cmdshut.sh
#!/bin/bash

/usr/bin/echo "cmdshut `/usr/bin/date` этосраноеунылоеговнонеработает" >> /root/cmdshut.log

exit 0
что мы видим у рута после ребута?
что-что.. а мы шас посмотрим что

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

# ll /root | grep shut
lrwxrwxrwx  1 root root   18 авг 16 11:39 shut -> /usr/bin/systemctl
lrwxrwxrwx  1 root root   18 авг 16 11:39 shutdown -> /usr/bin/systemctl
гидееее..?

systemd: порядок останова сервисов

Добавлено: 2017-08-17 9:31:44
snorlov
Перегрузиться не пробовал... Прости от балды предложил...

systemd: порядок останова сервисов

Добавлено: 2017-11-18 20:41:43
Alex Keda
ктонить разобрался?
я тут тоже озадачился на центосе при завершении работы скриптик выполнить ...
тоже не работает укладывание в /usr/lib/systemd/system-shutdown/

нашёл обсуждение у себя же =))

Отправлено спустя 30 минут 1 секунду:
гы... дебилизм.
оно выполняется уже после всего, когда сеть лежит и корень в read-only перемонтирован

вот нахрена это счастье, спрашивается ....

systemd: порядок останова сервисов

Добавлено: 2017-11-19 3:44:21
FiL
ну просили перед шатдауном - вот и получили перед шатдауном. Прямо перед.
Но вообще оно хоть и стало зело фичасто и круто, но нихрена не удобно :(