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)

А что все так ругаются на переписывание на C? Чем тут плохо? Наоборот хорошо, давно пора было бы так сделать - так гораздо быстрее будет грузиться.

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

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

>Хотел бы я это иметь в бубунте 10.04

Есть ppa для бубунты с протухшей 15 версией. Но можно же и собрать из исходников и завернуть в пакет.

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

Распробовал сие чудное поделие в фелоре 15 LXDE.

Штука довольно удобная. Конечно, не без недостатков, главный из которых, это невнятное отображение хода загрузки, но, во первых, грузит систему заметно быстрее, во вторых, systemctl дает хорошую и унифицированную информацию о запущеном сервисе и в третьих, действительно совместим со старым управлением через service и chkconfig.

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

>Распробовал сие чудное поделие в фелоре 15 LXDE.

грузит систему заметно быстрее

Если отключить selinux, должно быть ещё быстрее. Ещё можно ядро собрать, чтобы выкинуть initrd. Когда я пробовал в федоре за несколько дней до релиза, там на несколько секунд было медленнее, чем в Генте, вероятно, из-за initrd.

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

Ох... Я просто привел пример того, что от софтины зависит ВСЁ. Это противоречит принципу 'Разделяй и Властвуй'. Что само по себе может привести к очень неприятным последствиям.

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

>Что само по себе может привести к очень неприятным последствиям.

Да всё хорошо будет. Главное, чтобы не загнулось, как init-ng.

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

Воооот, как с HAL в своё время получилось. Поэтому я за init.

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

systemctl дает хорошую и унифицированную информацию о запущеном сервисе и в третьих, действительно совместим со старым управлением через service и chkconfig.

Да, федора это не бубунта, тут блюдут совместимость. Я, например, узнал о том в 14й версии upstart только после того как перешел на 15ю версию :)

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

> в арче был какой-то глюк, связанный с тем, что syslog-ng не выключался

Поэтому все сносили syslog-ng и ставили rsyslog, об этом даже в арчвики написано в статье про systemd :)

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

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

писать скрипты systemd для того же bumblebee и прочих мне просто лень.

[Unit]
Description=bumblebee

[Service]
ExecStart=/usr/bin/bumblebee

Как-то так?

// Что такое это bumblebee, я вообще не знаю.

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

Чо? Упразднение баша? Я Си не осилю. Теперь для статуса «опытный linux-пользователь» надо будет учить Си?

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

>Особенность его проектов в том, что они, вроде, что-то полезное делают, но вполне можно жить без них. Но с ними интереснее.

С ними поддержка системы полна сюрпризов?

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

Задача: просмотр видео [code] юникс-вей: 1. определить тип контейнера 1 утилитой 2. другой утилитой определить тип видопотока 3. третьей - тип аудиопотока 4. соответствующим демуксером достать из файла видео аудио/сабы 5. отдельными прогами проиграть что нужно

не юниксвей: mplayer [/code]

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

>не юниксвей: mplayer

Толсто.

юникс-вей: 1. определить тип контейнера 1 утилитой 2. другой утилитой определить тип видопотока 3. третьей - тип аудиопотока 4. соответствующим демуксером достать из файла видео аудио/сабы 5. отдельными прогами проиграть что нужно

Это не юникс-вей, а вей для тех, кому нечего делать (кому не фильм посмотреть, а _запустить_ его на просмотр).

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

>29 в дерево два дня назад добавили,

Это хорошо. Я уже несколько дней не синкался, потому что GPRS.

только он несовместим с openrc-0.8.2

Как раз снесу OpenRC заодно, всё равно не пользуюсь.

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

>Чо? Упразднение баша? Я Си не осилю. Теперь для статуса «опытный linux-пользователь» надо будет учить Си?

Зачем? Там ничего кодить не надо. Весь код уже написан. Скрипты на баше не надо же накодить, чтобы SysVinit работал, они уже есть. Точно так же и здесь, только на Си. Конфиги текстовые, есть поддержка дефолтных для дистрибутива, так что даже переписывать не надо.

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

>я думаю, к 159-й версии все стабилизируется

Уже стабильно же. Тут несколько багов обсуждалось, я попробовал, не словил их. С размонтированием LVM там, вроде, была проблема - это не могу проверить, нету LVM.

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

А когда это поделие научится запускать при старте программы из репо федоры? Например couchdb? Или я прошу слишком много?

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

Кстати как под него написать скрипт для подключения к провайдеру(pptp)?

Я чесно прочитал все три опубликованных фака под него, но так и не понял. Старый init скрипт из f14 он жевать отказался.

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

судя по тому, что я видел в этом треде, достаточно написать /etc/ppp/peers/provider нужные опции, а потом сделать запускаемой программой pon. (как во многих дистрах)

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

Кстати как под него написать скрипт для подключения к провайдеру(pptp)?

pptp никогда не юзал, не знаю, как там, а вот ppp можно как-то так:

[Unit]
Description=PPP connection

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/sbin/pon provider
ExecStop=/usr/sbin/poff provider

[Install]
WantedBy=network.target
pptp будет аналогично, команды только поменять.

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

У меня быстрее =)

Самая первая загрузка:

[    5.878417] systemd[1]: Startup finished in 2s 693ms 304us (kernel) + 3s 184ms 905us (userspace) = 5s 878ms 209us.
После того, как всё настроил и добавил кучку демонов:
[   12.744354] systemd[1]: Startup finished in 2s 994ms 982us (kernel) + 9s 746ms 660us (userspace) = 12s 741ms 642us.

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

> Не нужно в init-е. Есть ulatencyd.

И на чем он основывается, разделяя процессы по группам?

Хрен там, а не совместимость. Юзеры Fedora15 это хорошо почувствовали на себе.

Не почувствовал. До заявленного времени старта далеко, это да, но у меня еще ups и adsl поднимается.

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

>Если отключить selinux

Я его практически всегда отключаю. Как и rhgb. Тоже экономит секунду.

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

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

>Распроболал, убыстрения не заметил. Даже с отключенным SELinux.

Я сборку lxde крутил. С гномом еще начиная с 13 федоры разонравилась.

Ускорение загрузки реальное.

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

у меня из-за провайдера (привет, КПИ), который выдаёт мне по dhcp айпишник больше минуты, получилось полторы минуты (ну и плюс три харда, нвидиа, кде)

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

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

Например Linux поверх микровизора работает - там это это очень полезная возможность.

anonymous
()

Если прочитать внимательно ЛОР, то можно убедиться, что благодаря таким вот «новостеделам» или даже «новостелепилам» как автор этой, больше чем полностью всё в мире Линукс происходит тихо и незаметно.

Хочется сказать автору: если для таких как ты это произошло незаметно и тихо, то это только твои проблемы.

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

зато сколько популярности проекту прибавилось за последние пару дней :)

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

У меня гном, кде, lxde - система до этих оболочек грузится одинаково.

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

>который выдаёт мне по dhcp айпишник больше минуты, получилось полторы минуты

Загрузка остановилась и ждала сеть или можно было залогиниться? Попробуй NetworkManager, с ним точно не будет зависать загрузка. С dhcpcd, вообще-то, тоже не должно, надо посмотреть, что зависит от network.target.

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

Ага. Только ещё надо думать, когда там его запускать, чтоб модули нужные уже были загружены.

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