LINUX.ORG.RU

systemd 221

 


0

3

19 июня был представлен очередной релиз systemd — набора служебных компонентов для Linux-based операционных систем, совмещающего в себе функции системы инициализации, ведения журнала, управления сессиями пользователей и работы с контейнерами. Система инициализации systemd основана на модели зависимостей (в противовес событийной модели), производит отслеживание процессов запущенных сервисов при помощи механизма cgroups ядра Linux, поддерживает механизмы сокет- и dbus-активации сервисов и предоставляет удобный декларативный синтаксис для описания демонов и других сущностей. Это позволяет производить агрессивную параллелизацию при запуске и остановке сервисов.

В рамках проекта также разрабатывается ряд легковесных приложений и демонов, выполняющих второстепенные, но распространённые вспомогательные задачи (т. н. plumbing layer) — от настройки подсистемы VT (systemd-vconsole-setup) и первичного конфигурирования ОС (systemd-firstboot) до управления сетью (systemd-networkd) и UEFI-загрузчика (бывший gummiboot).

Данный релиз можно назвать в основном корректирующим — за исключением двух организационных изменений:

Про GitHub на ЛОРе уже писали, но расскажем ещё раз, подробнее. В начале июня было объявлено, что отныне разработка systemd будет вестись исключительно средствами GitHub. В частности: туда переносится основная копия репозитория, в качестве багтрекера будет использоваться система GitHub Issues, а патчи (особенно большие) теперь настоятельно рекомендуется оформлять в виде pull-реквестов, а не отправлять в список рассылки.

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

По словам разработчиков проекта, средствами GitHub станет возможным упростить рецензирование патчей и отслеживание багрепортов, одновременно разгрузив список рассылки и оставив его для идейных обсуждений. Вместе с тем предполагается уделять больше внимания pre-commit review, проводя его для всех нетривиальных изменений.

Впрочем, в исходном обсуждении уже выявились некоторые проблемы, связанные непосредственно с GitHub. Так, при обновлении pull-реквеста посредством перезаписи в ветку (как и делает большинство пользователей гитхаба) теряются построчные комментарии к предыдущей ревизии pull-реквеста. В связи с этим для каждого изменения требуется создавать отдельный issue report (хотя бы уровня RFE), описывающий общую идею, а для каждой ревизии патчсета — отдельный (новый) pull-реквест, ссылающийся на соответствующий issue report.

Изменения в ядре systemd

  • Интерфейсы sd-bus и sd-event объявлены стабильными.sd-bus представляет собой компактную клиентскую библиотеку D-Bus для языка C, стремящуюся предоставить гибкий, низкоуровневый, но при этом удобный API. Для интересующихся имеется запись в блоге от Леннарта, содержащий введение в концепцию D-Bus в целом, описание существующих клиентских библиотек для работы с этим протоколом и пример использования sd-bus.sd-event – это, опять же, библиотека для языка C, реализующая событийный цикл на основе epoll(), но с некоторыми достаточно важными дополнениями (кратко перечислены в объявлении о релизе).
  • Поддержка kdbus больше не может быть отключена при сборке. Существует возможность принудительного отключения её в рантайме (c помощью опции ядра kdbus=0).

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

  • Поддержка вызова LSB-стандартизированной утилиты chkconfig в legacy-конфигурациях была удалена.

    Теперь для внесения изменений в конфигурацию инитскриптов вызывается абстрактная утилита /lib/systemd/systemd-sysv-install. Дистрибутивы, работающие в режиме совместимости с sysvinit, должны предоставить её реализацию, описанную в README.

  • Действия systemctl enable/systemctl disable при работе в legacy-конфигурациях теперь приводят к одновременному включению/выключению и нативного юнита, и legacy-инитскрипта.

Изменения в остальных компонентах

  • Утилита systemd-cgtop теперь имеет параметр --raw, который отключает вывод заголовков таблицы и использование человекочитаемых суффиксов при выводе количественных данных.
  • В шинное API systemd-logind добавлено свойство Docked (интерфейс org.freedesktop.login1) с очевидным из названия значением.
  • Директива IPForwarding= network-файлов systemd-networkd теперь поддерживает значение IPForwarding=kernel, которое инструктирует networkd не изменять значения соответствующих sysctl-переменных.

Прочие изменения

  • Минимально поддерживаемая версия util-linux теперь равна 2.26 (январь 2015).
  • Код gudev был выделен в отдельный проект и окончательно исключён из дерева исходников systemd.
  • Документация к API libudev была преобразована из gtkdoc в man-страницы.

>>> Объявление о релизе

★★★★★

Проверено: fallout4all ()
Последнее исправление: fallout4all (всего исправлений: 2)
Ответ на: комментарий от Behem0th

только скажи мне в чем отличие от того что было до системд?

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

Либо ЛФС либо жри что дают.

LFS уже содержит вариант установки с systemd. Осталось объявить sysvinit устаревшим и выпилить его из всех линуксов. Взамен вам и тебе придется изучать Си или на чем там это поделие написано, чтобы сделать исправляющий патч. Сомневаюсь, что на это способны админы, не осилившие баш :D Они будут ныть на ЛОРе как и раньше. А я предупреждал :)

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

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

Принципиальных нет.

тебе придется изучать Си

О_о я баш то учить не стал с чего мне С начать учить?

Они будут ныть на ЛОРе как и раньше.

как и раньше

Я и говорю ничего не поменялось принципиально.

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

О_о я баш то учить не стал с чего мне С начать учить?

Мда. И вот такие потребляди ещё смеют спрашивать, что ты сделал для линукса...

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

Особенно забавляет, когда старая ссылка по какой-то причине не удалилась. Ты, такой, раз: systemctl enable <service>, а он тебе: «Куй тебе, не можно». И ты долго втыкаешь, что за нахер.

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

Да-да, Пёс, проваливай в свою конуру.

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

Твой? Ты кто вообще? :) Я тебе не друг и не товарищ

Для линукса реально что-то делают только корпорации. А не клоуны на ЛОРе со своими утверждениями «а что ты сделал для линукса». Так что вопрос некорректный.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Behem0th

но ведь он прав ... снимай погоны

anonymous
()

So I am still expecting to merge it, mainly for a rather simple reason: I trust my submaintainers, and Greg in particular. So when a major submaintainer wants to merge something, that pulls a *lot* of weight with me.

That said, I have to admit to being particularly disappointed with the performance argument for merging it. Having looked at the dbus performance, and come to the conclusion that the reason dbus performs abysmally badly is just pure shit user space code, I am not AT ALL impressed by the performance argument. We don't merge kernel code just because user space was written by a retarded monkey on crack. Kernel code has higher standards, and yes, that also means that it tends to perform better, but no, «user space code is shit» is not a valid reason for pushing things into the kernel.

So quite frankly, the «better performance» argument is bogus in my opinion.

That still leaves other arguments, but it does weaken the case for kdbus quite a bit.

Because go out and read pretty much any argument for kdbus, and the *first* argument is always performance. The articles never say ".. because the user-space dbus code is crap", though.

Linus

Далее по-плану 1) kdbus пропихивается в кернел. 2) systemd завязывается на kdbus. 3) на systemd-kdbus постепенно завязываются системные функции, без которых у домохояек не запустится. Ура, вендорлокинг. Далее - дробление сообщества 1%. Вы этого хотели? Поздравляю, хороший план.

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

Тут стандарт пропихивает RH а не freedesktop.org. Но даже если и freedesktop.org, какая в баню разница: на серверах в 99% случаев нет понятия desktop, а тут в ядро в возможном будущем будет завязано на какие-то там стандарты с freedesktop.org. И консоль будет завязана на какой-то consoled, завязанный на logind, который за собой потянет DM ...

Домохозякам-то пофиг, только я не понял что они на этом ресурсе забыли ?

P.S. Хоть одумались и сделали опцию чтобы это чудовище не ставило себя выше ядра на тему настроек net.ipv4.* из /etc/sysctl.conf

P.P.S. Тут на счет реестра вместо etc шла дискуссия... ВЫ С ДУБА РУХНУЛИ ? Даже если будет красивая реализация через FUSE это все равно наибредовейшая идея. И дело нифига не в юниксвейности: конфиги логичны и удобны когда имеют разумный синтаксис и распределены по директориям, реестр по определению свалка мусора. Если свалку мусора через FUSE представить как текстовые конфиги это будет полный ппц. Я уж промолчу про такие юзкейсы как подмонтирование / с livecd в целях восстановления работоспособности: подмонтируем партицию с файлом реестра и потом непонятно как работающей в консоли утилитой в шлаке копаемся чтобы решить проблему ? intelfx походу одновременно на Red Hat и Microsoft работает раз такие идеи продвигает, с Леней типа диверсантами заделались.

И еще:

маргиналы идут нахер

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

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

Ты, такой, раз: systemctl enable <service>, а он тебе: «Куй тебе, не можно».

Удалить/поставить линк руками может каждый, кому это действительно нужно. Да, Лёня подпиливает всё это дело под хомячков, чтобы было удобно и просто, но по сути это очередной костыль. Так действительно недолго до шindoшs-way скатиться.

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

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

Противники же думают, что реестр удобен. Он же разбит на ветви и категории :)

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

Я вас умоляю, маргиналам всегда есть куда идти - альтернатив овер 9000 (а игоры и туда однажды доберутся), а вот 1% лялиха в резултате этого только уменьшится. По-факту будет винда, макось и недомакось-лялих. Зато стандарт. Ура?

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

маргиналы идут нахер

но вместо этого они почему-то дрочат на системд и поцеринга

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

Лучшем быть маргиналом, чем одним из стада баранов

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

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

Домохозякам-то пофиг, только я не понял что они на этом ресурсе забыли ?

Но этот ресурс именно для вас, домохозяек.

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

Совместимость с SysV в systemd держится как раз на LSB-заголовках.

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

зачем ему следить за языком? ты и есть потреблядь с пустыми претензиями

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

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

никого ваше верещание не волнует, потому что вы - нуль без палочки

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

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

А борщевики что делают? :-)

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

маргиналам всегда есть куда идти - альтернатив овер 9000 (а игоры и туда однажды доберутся)

Игоры не нужны :-)

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

по дефолту ставят многие дистрибутивы

Оно же на встраиваемые системы ориентировано, но попробуй объяснить это школоте. Тащат всякий шлак, как сороки.

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

Мне отмывать ? Нет ! Есть же силит ! windows 10 для упоротых

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

нет. на разном уровне работают. но однажды нетворкменеджер будет работать поверх нетворкд и будет коммунизм.

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

Ну ок, вендора нашли. А где «лок»? К каким продуктам и проприетарным стандартам Red Hat'а пользователь привязывается используя systemd?

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

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

похоже пора добавлять строчки в лицензию: You can't do anything with this code, except you actually CAN..

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

ну где-то 60% за всеми корпами.. сообщество пока ещё стронг, да.

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

Вендорлок

а в церкви это называли причастием..

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

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

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от anonymous

Кококо. Не караван - а стадо, не идет - а ведут. В остальном верно.

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

Далее по-плану 1) kdbus пропихивается в кернел. 2) systemd завязывается на kdbus. 3) на systemd-kdbus постепенно завязываются системные функции, без которых у домохояек не запустится.

И из 1% станет 0,5% - хомячкам линукс с нестабильным глючным системд надоест/их внимание привлечет Windows 10, старожилы и маргиналы полезут на BSD, а геймерам вообще пофиг на ОСепроблемы. В итоге «линукс-сообщество» будет перенасыщено поцтеро-поклонниками, а линукс станет лютым комбайном-монолитом, в котором все действия централизуются на системд. Плохо это или хорошо, решать уже не нам.

P.S. Valve возможно потерпит крах надежд на линукс, после того как их стим-машины не взлетят или станут убыточными.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 2)
Ответ на: комментарий от backburner

Systemd и kdbus, которые декларируются как опциональные - по факту же они будут безальтернативны. Софт, который сейчас работает без них, постепенно обрастет зависимостями на Systemd и kdbus и работа без них будет затруднена или невозможна. Какой конкретно софт и когда - покажет время. Фактически будет 1 дистрибутив от RedHat, свобода юзера будет ограничена выбором софта. Хз, кому-то счастье, но для такого уже есть Apple. Не говорите, что вас не предупреждали.

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

Цена вопроса - 2 full-time разраба на несколько лет. Потенциаьно это по силам Valve, как выйдет на самом деле - хз.

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

Systemd и kdbus, которые декларируются как опциональные - по факту же они будут безальтернативны

Да, возможно все так и будет.

Софт, который сейчас работает без них, постепенно обрастет зависимостями на Systemd и kdbus и работа без них будет затруднена или невозможна

Почему бы и нет, как сейчас со многим другим системным софтом (DBus, иксы, udev и т.п.).

Фактически будет 1 дистрибутив от RedHat

А вот тут вывод неверный.

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

systemd разве нестабильный? Вот хомячкам, как мне кажется, как раз больше всего пофиг на systemd.

Но им не пофиг на то, грузится ли их линукс или нет и какие ошибки при этом выдает. Если на этапе загрузки системд будет выдавать всякие фокусы, например фризить или сыпать ошибками (а раз в 10 загрузок-перезагрузок у него такое бывает) то, им это надоест и они выберут другую систему, купят мак, как и сделал один мой знакомый.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.