Pull to refresh

Comments 31

Интересно, чем плохи предыдущие системы инициализации? На systemd навешали бигудей, превратив поведение компьютера в заторможенное, виндошное. Система инициализации знать ничего не должна о падающих процессах. Её дело-запустить сервисы, и свернуться. Сама философия systemd противоречит linux way " Программа должна делать только одно, и делать это хорошо. Тьфу, развели гомятню в стабильной ОС.

просто пример
на написание systemd юнита для запуска демона я потратил 2 минуты, на написание rc скрипта для управления тем же демоном я потратил минут 10
вроде мелочь, а в масштабе непрерывного потока тасков получается большая разница
ну и плюшки в виде удобного легкочитаемого выхлопа в ответ на все команды тоже радуют
я не говорю что это прям вот так необходимо, но это удобно. если ненравится никто не заставляет принудительно, вон calculate и alpine прекрасно обходятся без systemd

Ты говоришь как сисадмин. А я говорю как пользователь. Тебе удобно для нескольких машин написать инит за 5 минут, я ничего такого не пишу. А вот системы (я пробовал несколько) стали медленнее. Внедрение systemd только для версий server был бы логичным. А вот для workstation он на фик не впал.

А как пользователя вас вообще не должно волновать кто там перезапускает падающие процессы — система инициализации или отдельный супервизор, на производительность системы это не влияет.

Нет. Вы неправы. Потому что systemd "живёт" на всей продолжительности жизни сессии. Занимает часть процессорного времени, и оперативную память. В отличие от других систем. А это напрямую влияет на производительность компьютера. В худшую сторону.

Любой другой супервизор делает то же самое, только хуже — потому что используется много процессов вместо одного.

Если вам нужен супервизор-пользуйтесь. Но не рассказывайте неправдивую информацию другим, что это не влияет на продуктивность системы )))

Занимает часть процессорного времени, и оперативную память

$ uptime -s
2021-04-08 12:34:25

$ ps -ejH | grep systemd | awk '{print $5, $6}'
00:02:40 systemd
00:06:33 systemd-journal
00:00:03 systemd-udevd
00:00:27 systemd-timesyn
00:00:07 systemd-logind
00:01:56 systemd-network


Целых 12 минут за 16 дней! 0.0005% драгоценного процессорного времени коту под хвост!
Расточительство!

А ещё невероятные 25 мегабайтов памяти смеет похитить! Как же с этим жить?!

В какой параллельной реальности живут хейтеры системды?

опять же не соглашусь, systemd в отличии от openrc (или кто там был раньше я чёт уже путаюсь) умеет грузить юниты паралельно (если в описании не указано иного) а не по строгому порядку
сейчас в сравнении debian на systemd и его форк без systemd грузятся одинаковое время (разница в пределах погрешности)
в некоторых дистрибутивах при загрузке можно иногда залипнуть в долгостартующий юнит, но при ближайшем рассмотрении оказывается что виновата не systemd а сам юнит, и от замены на другой init ничего не поменяется


и второй момент — разделить в одном дистрибутиве разные иниты для "серверной" и "десктопной" версии это лишняя морока, лишнее время на тестирование, пересборка большей части пакетов (включая кстати и ядро)
для меня лично отсутствие разницы между серверной и десктопной версией одного и того же дистрибутива помимо набора пакетов огромный плюс, и думаю многие со мной согласятся..

У вас ответ в стиле "не царь виноват, а бояре". Если инит не может долго загрузится, то это проблема аппаратной части, которую systemd не решает-да, она распаралелит процессы, и будет циклично долбить в этот инит. Но. Она не не делает кривой инит прямым. И опять же, вы забываете суть разговора-это система Инициализации. Старта. Какого лешего она продолжает жрать ресурсы, присутствовать, после запуска системы?
По поводу разделения инитов между версиями системы. Вы забываете, что вся философия и направленность unix-систем в защищённости, свободе, и специализации-на сервера, шелы управления автоматизированных систем, роутеры, военка. А вы, используете только один аспект, и говорите, что вам что-то неудобно. Если б не было разделения, которое вам так не нравится, то пришлось бы ставить systemd и на Андроид. А его там почему-то нет. Хотя процессов в современном смартфоне-хоть отбавляй. "Комбайн", живущий в системе, и делающий сотню дел-это плевок всей идиологии, ради которой появились эти системы в принципе. Но вам, юзерфрендли поколению-всё равно.

Скажу тебе как пользователь — мне systemd крайне удобен, хотя бы тем, что унифицирует вопрос сервисов, когда мне нужно понять, что запущено, мне не нужно судорожно бегать и вспоминать, какой сервис как работает и разбираться в этом зоопарке. Есть одна команда которая рулит всем.


Насчет тормознутости нынешнего Линукса, лично у меня сложилось впечатление, что тут дело совсем не в systemd, сам линукс по себе становится тяжеловесным по каким то причинам и менее поворотливым. Возможно потому, что вопросу оптимизации софта в Линукс нынче уделяется меньше внимания, нежели раньше.

  1. Все процессы видны по команде htop. Уж что, что а для того, чтоб найти запущенные процессы-systemd не нужен точно. )))
  2. "Линукс стал неповоротливым по каким-то причинам". Это эпично ))) Интересно, какой это оптимизации софта раньше уделялось больше времени? )))
  3. Судя по тексту, это писал человек пользующийся windows.
Судя по тексту, это писал человек пользующийся windows

Пахнуло элитарностью… Но смею вас, возможно, удивить, что на Windows можно не менее продуктивно работать. А если по теме, то да, system, пожалуй, противоречит идеологии nix, однако это тот случай, когда это приносит больше выгод, чем недостатков. Говорю, как человек, который воспринимал в штыки systemd пару лет. Несправедливо воспринимал.

Я согласен, что виндовс в програмном плане мало уступает. А вот плане надежности и отсутвия вирусов-нет.
Вы признаете, что системди не соответствует идиологии. Больше нечего обсуждать. Вы ж сами это признаете, мне не нужно ничего доказывать.
Вы признаете, что системди не соответствует идиологии. Больше нечего обсуждать.

Так я не считаю, что это вредит. А в этом контексте не важно, соответствует идеологии или нет.


А вот плане надежности и отсутвия вирусов-нет.

Это какой-то треш из штампов.

Треш из штампов, это когда в разговоре о линуксовом systemd мне минусуют за коммент о виндовс, а вам-плюсуют.
Треш из штампов-это когда скачивают с торрента взломанную винду, боятся обновить её патчами безопастности, чтоб ворованное не блоканулось (на десятке хоть это сделали автоматом), и кричат, что винда надёжна.
Судя по тексту, это писал человек пользующийся windows.

Ошибаетесь, на линукс полностью перешел с 2012 года.
Все процессы видны по команде htop. Уж что, что а для того, чтоб найти запущенные процессы-systemd не нужен точно. )))

htop это конечно круто, но тем не менее htop показывает все процессы. Да и имелось ввиду совсем другое. Раньше все таки существовал приличный зоопарк методов того, как сервисы запускаются, управляются и отслеживаются. Да, был sysvinit, но тем не менее все равно был бардак, что пропишется закинув скрипт в init.d, кто еще как, поэтому в некоторых случаях не так просто было понять, что запускается при старте системы. Надо было проверить несколько мест, что создавало ощущение малоконтролируемости системы. Systemd в этом плане гораздо удобнее, плюс имеет например ряд бонусов, таких как попытку поднятия упавшего сервиса.
htop показывает все процессы

По нажатию клавиши f3, о чудо, вы можете ввести требуемый процесс. И «htop, который показывает всё», покажет вам требуемое. Не благодарите.

что пропишется закинув скрипт в init.d

Интересно, что вам требовалось узнать в самодостаточной системе Linux? Каков первоначальный смысл узнавания, что там запустится? Вы-тестировщик системы? (На всё есть маны. Это я так, если шо).

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

Вот, вот эти вот сторонники systemd, подскажите пожалуста, что у вас там в системе падает и поднимается? Конкретно. На sysVinit вот лично у меня ничего не падало. А у вас? Что происходит с вашими системами? Я включил систему-она работает. Прошло несколько суток-я компилировал, смотрел Ютуб, редактировал фото, работал с VirtualBox, и много всего, уже не припомню. Ни-че-го не падало. Что там с вами происходит, расскажите пожайлуста…
Вот, вот эти вот сторонники systemd, подскажите пожалуста, что у вас там в системе падает и поднимается?...

Из контекста я понял, что вы в основном о десктопной системе, где подобные фичи не особо и критичны. На десктопе даже упавшее без проблем можно поднять вручную. На сервере же бывают те или иные сервисы которые иногда таки могут упасть и нужны решения, на которые ты можешь положиться 24/7, где даже если упадет что-то, тебе не придется лезть в сервер и чего то чинить, при том, что время простоя может быть критичным. Так что такая функция очень даже востребована как дополнительная страховка. Хотя привыкший к таким фишкам на серверах мне и на десктопе подобная функциональность очень даже нравится. На десктопе немного другая жизнь. Вы например используете VirtualBox — для десктопа норм, но для сервера… он просто плохо переваривает большое количество виртуалок на одной машине. Как то пытался на одной слабой машине запустить три виртуалки — две работают, с третьей уже нужны танцы с бубном, без гарантии, что в следующий раз тебе не позвонят, что оно снова не работает. На этой же машине 8 виртуалок KVM/libvirt вообще без проблем. В принципе меня предупреждали, но мне же шишки на своей голове набить нужно.
Каков первоначальный смысл узнавания, что там запустится? Вы-тестировщик системы?

Контроль над системой. Это особенно актуально, когда вы сисадмин серверов. Статья же если я правильно понял именно про них.
На сервере же бывают те или иные сервисы которые иногда таки могут упасть


Вот мне интересно… Мне ответят, наконец, что там падает? Я спрошу у вас в третий раз.

Вы например используете VirtualBox — для десктопа норм, но для сервера… он просто плохо переваривает большое количество виртуалок на одной машине.


Наверное тут дело в процесорном времени и, главное, в оперативной памяти. ))) Нашли что сравнивать-тяжолый ВирчалБокс, и «обрезанная» Квеми ))) И системди тут, как раз, никаким боком.

Из контекста я понял, что вы в основном о десктопной системе, где подобные фичи не особо и критичны.


А я тут писал, другому адепту системди, что на десктопах системди на фик не впал. ))) Так он мне ответил, что «Нечего городить зоопарк, типа, на серверах оно есть, а на десктопах нет, надо всё стандартизировать» ))) Вас, адептов, с какой стороны не спроси, у вас общие ответы в стиле баптистов )))

Контроль над системой. Это особенно актуально, когда вы сисадмин серверов. Статья же если я правильно понял именно про них.


Скажите мне, наконец, скажите-что. вы. там. контролируете?
Не могли бы вы чуть подробнее рассказать про Таймеры.

Есть скрипт backup.sh, запускаемый каждую ночь через крон.
Как переделать его через Таймер?

Извините, что спрашиваю, понятно, что наверняка простым гуглом можно найти как оно делается. Но раз уж вы об этом заговорили…

Самое крутое, конечно, что можно сервис хоть раз в секунду запускать по таймеру и даже чаще.

Меня вот больше интересует «зачем?».
Cron все так же работает, запросы не связаны с его работоспособностью, скорее с популярностью.

Запускать сервис чаще чем раз в минуту.
Понятным человеку способом задавать интервал времени.
Есть встроенный RandomizedDelaySec — не надо "городить" самописную рандомную задержку, что бы на сотне серверов одна и та же задача (например push от etckeeper) не запускалась одновременно.


Подробнее https://habr.com/ru/post/535930/

А ещё ведь cron не отслеживает состояние задач и надо самому контролировать завершилась задача или нет, что бы не произошло наложений.

Вроде как общая тенденция двигаться к микросервисам, а тут наоборот, вскармливается огромный такой, уродливый монолит.
Когда у вас количество сервисов зашкаливает за некие пределы, что вы делаете? Правильно — задумываетесь об аркестрации. Вот и тут так же. Рассматривайте systemd этаким оркестрантом ваших демонов, таймеров и триггеров (2 последних в общем тоже демоны)
Комментарии к оригинальной статье достаточно показательны.
Sign up to leave a comment.