[РЕШЕНО] systemd: как заткнуть фонтан в tty?

sleepycat
да нет физически на момент рестарта процесс останавливается?
Судя по логу и диаграмме анализатора, в момент перезапуска продолжал инициализироваться nginx, продолжал работать iptables-restore, продолжал работать скрипт инициализации сети, и продолжал инициализироваться systemd-logind.service
Всё это началось значительно раньше перезапуска systemd и продолжалось после него.
Запуск последующих юнитов сдерживался неготовностью сети и logind.
Итого, никакого влияния перезапуска systemd на загрузку других юнитов, кроме занятия процессорного времени примерно на 0.05с в журнале не прослеживается.
понятно спс. Можете просветить по диаграммам? я чтото такое встречал в мане, но пока докуриваю systemctl(1)? такчто пользуясь случаем прошу аванса)
Лозунг у них был такой: "Познание бесконечности требует бесконечного времени". С этим я не спорил, но они делали из этого неожиданный вывод: "А потому работай не работай — все едино". И в интересах неувеличения энтропии Вселенной они не работали. (с)
sleepycat
Можете просветить по диаграммам?
journalctl -b -o short-monotonic
показывает для каждой записи журнала время с долями секунды от начала загрузки. Там я нашел перезапуск systemd.

systemd-analyze plot > /tmp/boot.svg
рисует диаграмму со временем запуска и периодом инициализации всех юнитов. Открываем картинку, ищем нужный отрезок времени, и смотрим, что в это время делалось.
Natrio
sleepycat
Можете просветить по диаграммам?
journalctl -b -o short-monotonic
показывает для каждой записи журнала время с долями секунды от начала загрузки. Там я нашел перезапуск systemd.

systemd-analyze plot > /tmp/boot.svg
рисует диаграмму со временем запуска и периодом инициализации всех юнитов. Открываем картинку, ищем нужный отрезок времени, и смотрим, что в это время делалось.
странно я пробовал последнее, ранее, но у меня график был пустой, один “скелет”, хотя вроде тотже. хм.сейчас через два дня попробовал и все ок, все нарисовалась! сочтем на криворукость в первой попытке, спс. Все рисуется нормально.
Лозунг у них был такой: "Познание бесконечности требует бесконечного времени". С этим я не спорил, но они делали из этого неожиданный вывод: "А потому работай не работай — все едино". И в интересах неувеличения энтропии Вселенной они не работали. (с)
Наконец-то я увидел этого слона :)
А всё потому, что не там искал. Как только случайно нарвался на глюк с потерей systemd связи с dbus после выполнения systemctl daemon-reexec (забавное состояние systemd, когда он работает, но совершенно неуправляем), стал искать способ до него достучаться, и тут же нашел неожиданное, но давно искомое:
man systemd
       SIGRTMIN+20
           Enables display of status messages on the console, as controlled via
           systemd.show_status=1 on the kernel command line.
       SIGRTMIN+21
           Disables display of status messages on the console, as controlled via
           systemd.show_status=0 on the kernel command line.
Таким образом,
kill -RTMIN+21 1
выключает сообщения от systemd в консоли, а
kill -RTMIN+20 1
включает их снова.
правильно ли я понял, что можно через загрузчик заказать такоеже поведение?
Лозунг у них был такой: "Познание бесконечности требует бесконечного времени". С этим я не спорил, но они делали из этого неожиданный вывод: "А потому работай не работай — все едино". И в интересах неувеличения энтропии Вселенной они не работали. (с)
sleepycat
правильно ли я понял, что можно через загрузчик заказать такоеже поведение?
Нет, нельзя.
Через конфиг или параметры ядра можно включить или выключить вывод сообщений systemd в консоль ПОЛНОСТЬЮ и С САМОГО НАЧАЛА.

Нужное мне поведение заключается в том, чтобы сообщения изначально выводились, отключались перед запуском getty, а при выключении снова выводились. Другими словами, я воспроизвожу традиционный вид загрузки, когда выводятся сначала сообщения ядра, потом сообщения о загрузке демонов, а потом тишина в консоли и логин в ней же. “Тихая загрузка” мне не нравится категорически, я хочу видеть процесс :)

silence.service
[Unit]
Description=Silence system
After=systemd-user-sessions.service
Before=getty.target
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/bin/kill -RTMIN+21 1
ExecStop=/bin/kill -RTMIN+20 1
[Install]
WantedBy=multi-user.target
[email protected]
.include /usr/lib/systemd/system/[email protected]
[Unit]
After=silence.service
[Service]
Type=simple
Ну и ещё у некоторых юнитов убрана зависимость от сети и удалённых ФС.
хм, полистал ман, да это одно и тоже. Мне показалось что это чтото новенькое(про тихую с самого начала) .. Спасибо за коммент.
Лозунг у них был такой: "Познание бесконечности требует бесконечного времени". С этим я не спорил, но они делали из этого неожиданный вывод: "А потому работай не работай — все едино". И в интересах неувеличения энтропии Вселенной они не работали. (с)
 
Зарегистрироваться или войдите чтобы оставить сообщение.