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

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

Слышал. А вот ты лучше бы почитал тред, я говорил, что у меня нет свопа. И мне ещё «повезло» с беспроводной сетевухой - RTL8187SE. Она мало того, что может только работать без шифрования (Ad-Hoc или с точкой доступа) или с WEP, но только Ad-Hoc (из-за кривых драйверов, причём и в Линуксе, и в венде, которая была по дефолту), так она ещё и вызывает фризы при резюме из этих всех суспендов и хибернейтов, если она включена.

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

Надо попробовать. Интересно, даст ли оно прирост на слабой домашней машине.

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

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

Там есть 'Starting' - это начало запускать юнит, 'Started' - это успех и что-то вроде 'Failed' (не помню точное название).

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

>на слабой домашней машине.

Слабая машина - это какая? А то тут слабыми и четвёртые пни называли, хотя у меня он самый (3.2 GHz, 2 потока Hyper-Threading), и я его слабым не считаю.

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

> Слышал. А вот ты лучше бы почитал тред, я говорил, что у меня нет свопа. И мне ещё «повезло» с беспроводной сетевухой...

Ну давай ещё вспомним несчастных которые пользуются ndiswrapper и прочей ересью. Fixed тут будет на уровне железа, а не на уровне написания systemd, которым пользоваться из-за твоих проблем со сраным нетбуком у которого нету свопа и кривая сетевуха придется МНЕ когда его включат в RHEL7.

Есть правда надежда, что он там будет на тех же правах, что и upstart в RHEL6, но всё равно раздражает.

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

Когда бегут надписи на экране, то Starting от Started отличить невозможно. А красная и зеленая раскраска статусов в классическом редхатовском sysvinit сразу бросалась в глаза.

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

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

А у меня это мои сервера, там GPT потому, что диски больше 2 Tb и из них собраны LVM тома, зачем там systemd?

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

>Когда бегут надписи на экране, то Starting от Started отличить невозможно. А красная и зеленая раскраска статусов в классическом редхатовском sysvinit сразу бросалась в глаза.

Можно же поменять надписи (с помощью патча, правда), чтобы выводились цветные с помощью escape-последовательностей.

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

> Можно же поменять надписи (с помощью патча, правда), чтобы выводились цветные с помощью escape-последовательностей.

Подскажи, пожалуйста, не с помощью ли патча на Си-код systemd, случайно или я тебя неправильно понял?

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

>А у меня это мои сервера, там GPT потому, что диски больше 2 Tb и из них собраны LVM тома, зачем там systemd?

В чём, собственно, связь LVM с GPT и systemd?

зачем там systemd?

Не нужен - не пользуйся, я ж не заставляю.

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

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

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

>Подскажи, пожалуйста, не с помощью ли патча на Си-код systemd, случайно или я тебя неправильно понял?

с помощью патча

Написал же. Именно на код.

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

На gentoo встанет нормально? Много проблем?

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

> В чём, собственно, связь LVM с GPT и systemd?

В том, что в случае наличия LVM имеется проблема с systemd, как ты сам упомянул ранее.

Не нужен - не пользуйся, я ж не заставляю.

Стоп, как же не заставляешь? А не из-за таких ли как ты поддержателей Леннарта это запихали в Федору, а значит так или иначе оно закончит в RHEL?

Надеюсь к этому моменту, правда, самые гадкие грабли подчистят, но всё равно, что же это получается? Теперь у меня будут RHEL 3/4/5 на sysv, RHEL6 на upstart, а RHEL7 на systemd? И как я буду параллельно пакеты поддерживать, в которых нужны будут инит-скрипты?

Доселе у меня из одного спека собиралось всё от RHEL2 до RHEL5. Вы хоть о людях-то подумали, инноваторы фиговы?

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

То есть я должен был догадаться, что именно в /etc/modules-load.d/new.conf нужно добавить несуществующий модуль именно с таким названием? И эта система загрузки для обычного пользователя?

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

> Написал же. Именно на код.

Прекрасно! До этого мне бы потребовалось поправить одну строчку в bash-скрипте functions. А теперь --- пропатчить Си-код и перекомпилировать. Выгода налицо.

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

>То есть я должен был догадаться, что именно в /etc/modules-load.d/new.conf нужно добавить несуществующий модуль именно с таким названием?

Для тех, кто в танке:

1. Это дефолтный конфиг Генты. С OpenRC тоже используется он. 2. Я добавил несуществующий модуль, чтобы проверить, что systemd от этого не упадёт, а спокойно всё загрузит.

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

>Стоп, как же не заставляешь? А не из-за таких ли как ты поддержателей Леннарта это запихали в Федору, а значит так или иначе оно закончит в RHEL?

Мне оно не нужно в федоре, я ей не пользуюсь. Просто человек написал программу, мне она понравилась, я себе установил. Никуда я её не продвигаю, тем более в эти ваши рхелы.

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

>у меня нет свопа.

вызывает фризы при резюме из этих всех суспендов и хибернейтов, если она включена.


кто тебе мешает устранить эти проблемы? Ладно бы ядро патчить, но лениться написать пару строк в конфиги это уже клиника.

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

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

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

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

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

>До этого мне бы потребовалось поправить одну строчку в bash-скрипте functions. А теперь --- пропатчить Си-код и перекомпилировать.

Тоесть вариант что все будет работать без вмешательства поросячих лап тебя категорически не устраивает ?

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

>она кстати отключаемая?

Видимо, нет, потому что я не нашёл юнита, запускающего /lib/systemd/systemd-cgroups-agent.

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

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

тупо не грузится и нельзя даже в консоль попасть.

И в каком это дистрибутиве так? У меня почему-то всё загрузилось.

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

>При чем здесь гента? systemd внедрен в федору, когда я пользовался гентой, то мне все равно было неинтересно, какой конфиг является дефолтным.

Не распарсил. systemd читает те же конфиги, что раньше читал тот инит, который был до установки systemd. И это преимущество systemd.

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

>Ладно бы ядро патчить, но лениться написать пару строк в конфиги это уже клиника.

Внезапно, чтобы исправить кривизну рук людей из реалтека, надо менять код ядра, а не конфиг. Патчей, исправляющих баг, не существует. Сам драйвер для беспроводной сетевухи я, увы, не могу написать, тем более, что эти уроды в модуль запихали и WEP, и WPA (которое так и не работает). Своп могу сделать, это не проблема.

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

> Тоесть вариант что все будет работать без вмешательства поросячих лап тебя категорически не устраивает ?

У меня как раз всё работало ДО вмешательства поросячих лап, когда в functions была нормальная раскраска. А после их вмешательства с появлением systemd она изменилась. И чтобы привести её в нормальный вид мне уже не отредактировать баш-скрипт и раскидать патч паппетом или перебрав пакет, а копаться в каком-то свинячем Си коде.

Читай тред, анончик.

anonymous
()

Хром нервно курит в сторонке.

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

>копаться в каком-то свинячем Си коде.

sed успешно покопается за тебя. И да, ошибки пишутся в лог, а в режиме дебага всё пишется в лог, так что сообщения на консоли вообще не нужны. Тем более, если это сервер, то там и читать их некому, да и загружаться сервер не должен, поэтому и сообщений не будет.

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

А по существу? Чем это автогруппировка зло?

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

firestarter> А чем оно лучше Upstart?

Возможностями. И вообще systemd не для десктопов делается, а для серверов. На десктопах уместнее использовать что-то более простое.

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

> Тем более, если это сервер, то там и читать их некому, да и загружаться сервер не должен, поэтому и сообщений не будет.

Так-то оно так, а как насчет тестовых стендов? Продакшон он не сам собой из ничего возникает, основное время как раз проходит в экспериментах, и машины (по понятным причинам) надо постоянно перезагружать.

Короче было хорошо, а стало плохо :-(

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

> И вообще systemd не для десктопов делается, а для серверов.

Так расскажи про это подробнее!

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

> Тогда уместна быстрая загрузка и мгновенное выключение.

Ещё раз, абсолютно неуместна. На фоне 3-5 минут которые занимает просирание различных BIOS-ов и конфигурация памяти (да даже каких-нибудь 48G...) +/- 10 секунд загрузки RHEL'а никакой погоды не делают.

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

> В чем проблема выключать перед саспендом?

Это неправильно. Должно и так работать. Вот когда я иду в суспенд, я выключаю, а так обычно просто закрываю или выключаю на ночь, если ничего не собираю.

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

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

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

Да где вы все откопали эту совместимость? Вот скажите мне с systemd, кто и в какой момент создает каталог /var/lock/subsys? Как мне это найти? В sysvinit все скрипты лежали в одном каталоге, и можно было их последовательно просмотреть и найти нужный. А что мне нужно сделать в systemd? Вот мне прямо сейчас нужно найти, кто создает этот каталог и когда. Как мне это сделать?

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

> И вообще systemd не для десктопов делается, а для серверов.

Для серверов? Тогда объясни мне. У меня сервак с БД, на подъём этой самой БД тратит пару минут, а укладывается БД в консистентном состоянии более 5 минут (большое ОЗУ). Как мне поможет этот systemd и не обламает ли он мне сворачивающуюся БД?

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

>А вот ТАКУЮ опцию хваленый systemd распарсит?

Systemd - вряд ли. Но он может запустить баш, который распарсит.

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

Поставил на посмотреть. Разницы не заметил. Как теперь сделать, не возвращаясь на инит, чтобы были строки как в арчевском ините? Т.е. Starting blablabla daemon [BUSY] в цветах, а не серые строки.

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

> Да и возможностей из коробки там побольше (о них написано в сравнении sysvinit, upstart, systemd: http://www.opennet.ru/opennews/art.shtml?num=30412)

Да, конечно, там очень много возможностей. У mysql-я тоже есть много возможностей, которых нет у systemd. Но из этого же не следует, что mysql будет хорошим init-демоном, верно?

Лучше бы вместо этих «возможностей» назвали бы хотя бы несколько задач, которые systemd решает лучше, чем то, что было до него. Такие вообще есть?

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

>> копаться в каком-то свинячем Си коде.

sed успешно покопается за тебя.

Раньше покопался бы, пока это были баш-скрипты. А что делать теперь? Как вообще искать причину того или иного действия? Как мне сейчас найти, какой скрипт, бинарник или юнит создает каталог /var/lock/subsys?

Как в винде: кто-то что-то как-то делает и никто не знает, кто это, что он делает и как.

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

> Как теперь сделать, не возвращаясь на инит, чтобы были строки как в арчевском ините? Т.е. Starting blablabla daemon [BUSY] в цветах, а не серые строки.

Никак. Леннарт в таких случаях отвечает NOTABUG WONTFIX

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