LINUX.ORG.RU

Systemd 29

 , ,


0

1

16 июня, тихо и незаметно вышла 29-ая версия новой системы инициализации для Linux. Среди её возможностей основными являются:

  • событийно-ориентированная система параллельного запуска сервисов;
  • управление через dbus;
  • упразднение загрузочных bash-скриптов и замена схожим по функциональности кодом на C для управления консолью, установки локали, запуска fsck, монтирования файловых систем и др.;
  • возможность запуска сервисов по появлению данных в сокете, запуску или остановке других сервисов, наличию подключённых устройств или смонтированных файловых систем;
  • встроенное упреждающее чтение с диска;
  • интеграция с cgroups;
  • совместимость со старыми скриптами, предназначенных для использования с SysVinit.

Всё это даёт возможность загружать систему за время порядка 10 секунд и выключать за 1 секунду.

В новой версии были незначительно изменены Makefile-ы, и было добавлено 2 пункта в TODO:

  • посылать сигнал, когда загрузка завершена;
  • при неудачном запуске сервиса попытаться перезапустить его.

Будем надеяться, что в следующей 30 версии мы увидим эти новые фичи.

Исходники

О systemd и ссылки

>>> Подробности

★★★★★

Проверено: maxcom ()
Последнее исправление: gentoo_root (всего исправлений: 1)

Ответ на: комментарий от anonymous

>Нету, хоть убейся, ни на одну секунду.

В дефолтной Генте (сразу после установки) с OpenRC будет секунд 20, а с systemd получилось чуть менее, чем 6. И да, федора у меня реально дольше грузилась, чем Гента, видимо, они там кучу ненужных сервисов понаписали типа автоматического отправления багрепортов, irqbalance и т.п.

gentoo_root ★★★★★
() автор топика
Ответ на: комментарий от gentoo_root

В федоре все те же сервисы, что и были, если убрать до того состояния, что у тебе в генте, то и без systemd будет все 10 секунд грузиться

anonymous
()
Ответ на: комментарий от anonymous

а за автоматический перезапуск упавших сервисов надо сразу расстреливать. Даже в венде до такого не додумались, кажется.

Думаю, что это опционально. Watchdog часто требуется, а когда он один, а не по watchdog'у для каждого сервиса это огромный плюс.

А яйца надо отрывать за автоматический старт сервисов после установки пакета как это принято в бубунтодебианах.

Reset ★★★★★
()
Ответ на: комментарий от anonymous

>VMware, VirtualBox при обновлении ядра весят загрузку системы.

Оно даст перейти в single, где можно 'module-rebuild rebuild'. Есть там несколько недочётов, когда не грузится, если что-то не смонтировалось или модули не загрузились. Надо бы запилить фичу «важные/неважные для загрузки маунты/модули».

gentoo_root ★★★★★
() автор топика
Ответ на: комментарий от anonymous

>если убрать до того состояния, что у тебе в генте, то и без systemd будет все 10 секунд грузиться

Не, федора без systemd уже не грузится =)

gentoo_root ★★★★★
() автор топика
Ответ на: комментарий от gentoo_root

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

anonymous
()

> Будем надеяться, ...

Надежда - первый шаг на пути к отчаянию. (c) warhammer

anonymous
()
Ответ на: комментарий от anonymous

>Никуда оно не дает перейти, завис мертвый, только перезагрузка срабатывает

Это странно. Если не смонтирует что-то, то даёт. С модулями должно быть так же. Сейчас пойду проверю. Может, sulogin не установлен?

gentoo_root ★★★★★
() автор топика
Ответ на: комментарий от gentoo_root

С обычным инитом сначала udev проинициализирует все устройства, потом начнут запускаться демоны.

Сколько времени на вашей машине занимает этот процесс? На моей банке с кучей периферии и четырьмя хардами - порядка половины секунды. Как раз можно чаю заварить...

Axon ★★★★★
()
Ответ на: комментарий от Gary

>У dhcpcd есть ключи -t и -b

-b - это не то. systemd специально запускает в --nobackground, чтобы мог контролировать демона. Надо копать, почему getty@.service или getty.target, или прочие gdm@.service, или даже multi-user.target или graphical.target зависят от network.target.

gentoo_root ★★★★★
() автор топика
Ответ на: комментарий от Axon

>Сколько времени на вашей машине занимает этот процесс?

Под LFS'ом 3 секунды, под другими дистрами не мерял. Там в основном udevadm settle занимает, когда как раз девайсы появляются.

gentoo_root ★★★★★
() автор топика
Ответ на: комментарий от gentoo_root

Под LFS'ом 3 секунды

O_O
Да по вашим рукам аппарат Елизарова плачет... В жизни не видел такого, чтобы время запуска udev вообще можно было засечь. У всех это происходит мгновенно.

Axon ★★★★★
()

14-я федора неприятно удивила временем загрузки.

15-я удивила, но уже приятно: дефолт с гном3 грузится быстрее, чем слака без иксов о_О Работать можно сразу.

Конечно, еще один шаг в сторону от unix... Но, думаю, он давно назрел.

unsigned ★★★★
()
Ответ на: комментарий от anonymous

>Никуда оно не дает перейти, завис мертвый, только перезагрузка срабатывает

Проверил, добавил в /etc/modules-load.d/new.conf несуществующий модуль non-exist-module-123, загрузилось нормально, даже не написало никакой ошибки.

gentoo_root ★★★★★
() автор топика
Ответ на: комментарий от Axon

> Да по вашим рукам аппарат Елизарова плачет... В жизни не видел такого, чтобы время запуска udev вообще можно было засечь.

Такая вот у тебя жизнь.

tailgunner ★★★★★
()
Ответ на: комментарий от Axon

>У всех это происходит мгновенно.

Не то. Мгновенно запускается udevd, но чтобы создались девайсы, надо udevadm settle. Вот сеттл уже идёт 3 секунды.

gentoo_root ★★★★★
() автор топика
Ответ на: комментарий от gentoo_root

systemctl stop dbus.service

dbus перезапустился

Кэп убил себя об стену от безисходности. Когда я говорю системе «останови сервис», а она его вместо перезапускает, это срань какая-то, а не система.

Axon ★★★★★
()
Ответ на: комментарий от gentoo_root

Не то. Мгновенно запускается udevd, но чтобы создались девайсы, надо udevadm settle. Вот сеттл уже идёт 3 секунды.

Повторяю, у меня в Арче строчка «Starting udev» находится на экране меншье секунды. Сразу после этого стартуют другие сервисы. Если у вас не так, то у вас какой-то неправильный udev.

Axon ★★★★★
()
Ответ на: комментарий от Axon

>Когда я говорю системе «останови сервис», а она его вместо перезапускает, это срань какая-то, а не система.

Это потому что система умней тебя ;-)

anonymous
()

Отберите у Леннарта линукс, они идеологически несовместимы.

Alsvartr ★★★★★
()
Ответ на: комментарий от Axon

>Повторяю, у меня в Арче строчка «Starting udev» находится на экране меншье секунды

Повторяю, «Starting udev» - это запуск udevd. Это БЫСТРО. Далее надо сделать 'udevadm settle', чтобы появились девайсы. Это строчка «Waiting for UDev uevents to be processed». Это ДОЛГО. Строчка «Waiting for UDev uevents to be processed» != «Starting udev».

gentoo_root ★★★★★
() автор топика
Ответ на: комментарий от Axon

>Когда я говорю системе «останови сервис», а она его вместо перезапускает, это срань какая-то, а не система.

Я же уже писал выше, что если я пишу 'kill -9 1', а оно не убивает! SysVinit - «это срань какая-то», я ему посылаю SIGKILL, а оно не убивается.

gentoo_root ★★★★★
() автор топика
Ответ на: комментарий от Reset

А яйца надо отрывать за автоматический старт сервисов после установки пакета как это принято в бубунтодебианах.


Два чаю этому господину.

Alsvartr ★★★★★
()
Ответ на: комментарий от gentoo_root

Это строчка «Waiting for UDev uevents to be processed». Это ДОЛГО.

Это у вас долго. У меня загрузка всех сервисов вместе взятых плюс монтирование ФС занимает ~2 секунды.

Axon ★★★★★
()
Ответ на: комментарий от gentoo_root

>Я же уже писал выше, что если я пишу 'kill -9 1', а оно не убивает! SysVinit - «это срань какая-то», я ему посылаю SIGKILL, а оно не убивается.

Не распарсил.

Axon ★★★★★
()
Ответ на: комментарий от Axon

>Не распарсил.

Объясняю:

Процесс с номером 1 убить нельзя, но на это никто не жалуется, потому что это вполне логично. Но почему тогда нелогично, что _зависимость_ этого процесса тоже нельзя убить?

Если бы был убит init, система бы запаниковала. Если бы был убит dbus, потерялся бы контроль над демонами. dbus при systemd играет почти такую же важную роль, как и systemd.

gentoo_root ★★★★★
() автор топика

Все мои друзья при установке линуксов первым делом выпиливают пульсаудио и авахи если оно есть. Видимо и это говно в будущем придется выпиливать. Надеюсь в дебиан оно не попадет в скором времени.

ventilator ★★★
()
Ответ на: комментарий от ventilator

>Надеюсь в дебиан оно не попадет в скором времени.

Да в этот ваш некрофильский дебиан ничего не попадает в скором времени.

gentoo_root ★★★★★
() автор топика
Ответ на: комментарий от gentoo_root

Да да, мы посидим на своем некрофильском дебиане, а специально для школоло у нас есть дистры с свистелками, перделками и системд.

ventilator ★★★
()
Ответ на: комментарий от gentoo_root

не, всё оке, просто системд выдаёт пруф о завершении загрузки только после удачного запуска сети

do0dlez ★★
()
Ответ на: комментарий от Axon

>Но что будет, если остановить любой другой демон?

Внезапно, демон остановится. Потом его можно будет с помощью systemctl start даже запустить. Если что-то зависело от остановленного демона, оно тоже остановится.

gentoo_root ★★★★★
() автор топика
Ответ на: комментарий от unikum

>Не надо пользоваться всякими уг-дистрами

Это точно - сейчас уже есть Ubuntu. Раньше вот как-то приходилось менять дистрибутивы, искать то что подходит мне. Из известных наверно только мандриву не пробовал, но все это все равно было не то.

anonymous
()
Ответ на: комментарий от ventilator

>а специально для школоло у нас есть дистры с свистелками, перделками и системд.

А я думал, что в бубунте upstart.

gentoo_root ★★★★★
() автор топика
Ответ на: комментарий от andreyu

>В дженту все еще 28 версия и она захардмаскана.

Уже есть 29 в дереве, синканитесь. И её можно размаскировать в package.keywords. И надо оверлей systemd подключить, чтобы оттуда брать networkmanager, bluez, wpa_supplicant, avahi, dnsmasq, если есть. udev можно брать из дерева.

gentoo_root ★★★★★
() автор топика
Ответ на: комментарий от ventilator

Не надейся. Враг уже давно прокрался в святая святых. Страшно даже сказать - оно устанавливается тремя щелчками мыши в синаптике

anonymous
()
Ответ на: комментарий от anonymous

Кажется из писателей в этой теме, системд доставляет только тем кто админством не занимался никогда, то бишь десктоп юзерам. Или я не прав?

ventilator ★★★
()
Ответ на: комментарий от gentoo_root

> Уже есть 29 в дереве, синканитесь.

Угу, уже вижу. Все так же захардмаскано.

И её можно размаскировать в package.keywords.


Этого не достаточно, нужно еще и в package.unmask править.

И надо оверлей systemd подключить, чтобы оттуда брать networkmanager, bluez, wpa_supplicant, avahi, dnsmasq, если есть. udev можно брать из дерева.


Кроме bluez, wpa_supplicant, avahi и udev ничего больше не использую. Но пока не понял, зачем мне переходить с openrc на systemd.

andreyu ★★★★★
()
Ответ на: комментарий от ventilator

>системд доставляет только тем кто админством не занимался никогда, то бишь десктоп юзерам.

Представь - настали хмурые времена и Linux-ом пользуются не только админы и программисты. Дистрибутивы кстати в нормальных компаниях тоже разные - для серверов и десктопов.

anonymous
()
Ответ на: комментарий от andreyu

>Этого не достаточно, нужно еще и в package.unmask править.

package.keywords достаточно, если написать просто 'sys-apps/systemd', а не 'sys-apps/systemd ~x86'. У меня так, работает.

Но пока не понял, зачем мне переходить с openrc на systemd.

Их можно поставить рядом (только systemd придётся 28 ставить, пока не вышел OpenRC 0.8.3), посмотреть на systemd и понять, нужно ли оно. Но OpenRC - тот ещё тормоз, с systemd я просто рад и счастлив 12-секундной загрузке и 1-секундному выключению. Да и возможностей из коробки там побольше (о них написано в сравнении sysvinit, upstart, systemd: http://www.opennet.ru/opennews/art.shtml?num=30412)

gentoo_root ★★★★★
() автор топика
Ответ на: комментарий от gentoo_root

> У меня было 30 с OpenRC, стало 10 с systemd в реальной ситуации на моём нетбуке, который не сферический и не в вакууме.

И нах это нужно-то кому-то ты можешь объяснить? Спрашивали же ранее, ответа не последовало.

У меня PowerEdge R710 минут 5 инициализирует разного рода BIOS'ы и прошивки на контроллерах, а RHEL6 грузится за пару секунд. При этом перезагружается он раз в полгода примерно. Какая разница?

Если речь идет о ноутбуке, который ты якобы постоянно включаешь-выключаешь, про хибернацию не слышал случайно?

anonymous
()
Ответ на: комментарий от AVL2

> Что неприятно, теперь нет никакой индикации успешности запуска сервисов. Простыня сообщений и все.

Это как? Мне пишет как и раньше, ОК или не ОК (initdefault 3 без rhgb).

anonymous
()
Ответ на: комментарий от tailgunner

>> Венда тоже быстро грузится... только сразу после логина в ней работать невозможно.

Ой да ладно? Вполне все нормально запускается и ничего не тормозит.

http://itzod.ru/files/video-2011-06-19-16-30-23.3gp

P.S. За качество сорри, снимал на попавшийся под руку ондроед.

Balthazar
()
Ответ на: комментарий от gentoo_root

root такой root:

С размонтированием LVM там, вроде, была проблема - это не могу проверить, нету LVM.

А чем ты разделами управляешь? В вашем этом Лайнуксе нету же zpool и т.п.

anonymous
()
Ответ на: комментарий от anonymous

>А чем ты разделами управляешь?

Это мой нетбук, у меня там MBR с обычными разделами, зачем там LVM?

gentoo_root ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.