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

Почему должен? Сам напишет, я уверен :)

Deleted
()

Код gudev был выделен в отдельный проект

GovnoUDEV?

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

Busybox имеет вполне конкретную цель - дать базовую систему при условии минимально занимаемого размера для embedded. И его комбайновость это оправдывает. У systemd же целью является не эффективность и специализация, а подмять всё под RedHat и диктовать изменения в ядре.

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

Админы локалхоста как разз очень любят systemd.

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

Так и запишем: networkd то бесполезная фигня, которую сделали от нефиг делать.

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

Во-во. Поцеринг накостылил свой ifupdown, который оказался говнищем.

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

Для десктопа с перманентным линком и клиента dhcp достаточно.

не в рашке, где провайдеры любят отдавать интернет по l2tp/pppoe/etc

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

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

Quasar ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

Крупный вендор - RedHat - видит в этом поделии средство монополизации. А другим как-то пофиг.

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

ага. а давай теперь ты замеришь влад не оп строчкам кода, а по критерию «железка не работала-стала работать», «доабавлена новая фс» и тд

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

Вот только это не отменяет тот факт, что Поттеринг - лживая мразь и политическая проститутка.

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

В данном случае отталкивают не те, кто завлекают. Просто надо подкараулить Поцеринга, затащить в подворотню, связать и кормить говном.

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

Вот только Поцеринг собирает как раз говно в пакетиках.

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

intelfx> Соответственно, исчезнет Alt+Fx

И консолью будет пользоваться неудобно! Слава Поцерингу! Венде слава! Кто не скачет, тот хейтер!

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

И зачем тогда ядро привязывать к systemd?

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

intelfx> В гноме реестр, и он прекрасен.

Неудивительно слышать такое от вантузятника.

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

Behem0th> А до systemd ьыла свободы выбора? Все жрали сисвинит и не мычали.

Нифига. Не все.

Behem0th> Как я понимаю проблема в том что слишком много альтернатив стало, сисвинит, апстарт, опенрс, системд. Вот раньше такого не было и всем было хорошо.

Тоже мимо кассы. Раньше выбор инитов также немаленьким был. И супервизоры сервисов тоже были.

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

Как не должна волновать система инициализации, когда из-за systemd компьютер перестаёт загружаться и не выводит сообщений, по которым можно установить причину?

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

anonymous> Старая гвардия в лице психованного эдди и прочих квазарчиков как-то стухла в последнее время

На себя посмотри.

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

В разных дистрибутивах поверх sysvinit совершенно разная скриптота. В итоге где-то этот скрипт называется совсем не chkconfig и синтаксис у него совсем другой.

В этом есть смысл, да. Но всё равно, почему бы не избавиться в этой цепочке от всего лишнего? Всё равно вся скриптота во всех дистрах тупо читает наличие линка на скрипт в ранлевеле, и ещё один уровень в цепочке ничего не решает по большому счёту. Или я ошибаюсь?

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

Behem0th> Инит был один

Какой феерический бред...

Behem0th> компилятор один

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

Behem0th> глиб одна

Опять 4.2

Behem0th> набор coreutils один

А как же bsd coreutils и busybox? Не надо пороть чушь.

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

Behem0th> Лично Леннарт должен под все тулкиты графические просмотрщики написать?

Да. Лично. Должен. Ибо взялся всё подминать. А если уж начал - то должен.

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

anonymous> не в рашке, где провайдеры любят отдавать интернет по l2tp/pppoe/etc

И в чём проблема запускать соответствующий демон?

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

в этом весь замысел. таков смысл gpl. корпорации продвигают ключевые нужные им нововведения, а потом набигают добровольные рабы с напильниками и доводят всё это дело до ума.

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

для меня не проблема, а для 99% пользователей непобедимая попоболь

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

Ну так нет его в systemd. Вот и говорю - давно пора бы. Выпилить /etc , оставить бинарный системный конфиг и заставить весь остальной софт, который ещё остался, стучаться за конфигом по единому api Поначалу оставить /etc как deprecated, а после выпилить окончательно

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

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

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

А вот права распоряжаться людьми - увы, нет.

Гы. Это только вопрос денег. Достаточно выкупить ресурс, необходимый людям и они полностью в твоём распоряжении.

frost_ii ★★★★★
()

Размонтирование сетевых шар через вайфай починили? Нет? Тогда в топку это дерьмо!

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

Busybox (или аналог) еще не интегрировали?

Этот полуфункциональный огрызок не нужен.

anonymous
()

Насчет гитхаба - верно. Весь этот приём изменений через рассылки просто бюрократия каменного века.

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

что просто добавят нужный функционал в DM

У меня много где нет ДМ и мне он не нужен. Правда и сустемдик у меня сейчас только на тестовом арчике (федору отправ на свалку), но это не принципиально.

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

Инит был один

Неправда.

компилятор один

Вот это засада. Но опенмандрива исправляет эту ситуацию.

глиб одна

Тоже неправда. Замена фактически означает запил собственного дистра, но её ни кто не запрещал.

набор coreutils один

Это вообще другая песня. Его можно компоновать по своему усмотрению. Или взять нечто целое и миниатюрное типа уже упонятого бусибокса.

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

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

Ты только жди, и все увидишь.

И чего я должен джождаться?

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

Нифига. Не все.

1,5 ананимуса c бсдинит не в счет.

Раньше выбор инитов также немаленьким был.

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

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

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

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

оставить бинарный системный конфиг

Убивать.

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

Какой феерический бред...

Еще раз, в дистрах был один набор и без возможности выбора, что бы впихнуть извращенный форк в дистрибьютив приходилось пересобирать самому. Чем эта ситуация оличается от нынешней?

И все работают.

Ахаха, смешно. Только ллвм близко подобрался к гцц по возможности сборки софта. Остальные поделки не могли быть системным компилятором по причине неспособности собирать весь софт. А то какой компилятор ты ставишь чтоб собрать свой проект не имеет значение.

глиб одна
Опять 4.2

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

busybox

Ты предлагаешь использовать не юниксвейый комбаин? Что за лицимерие?

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

А я считаю что тот кому не хватает тот пусть и пилит. А то иш халявщиков развелось.

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

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

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