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)

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

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

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

Чувак, стандарты де-юре сейчас никому ни в один писюн не всрались. Стандарты - это обуза, которая заставляет тебя откладывать релиз твоей shiny new прибалдушечки до тех пор, пока третьи лица в виде группы умных дядечек не насупят бровки и не «решатся принять решение». А конкуренты уже вчера всё реализовали и уже вчера удивляют твою целевую аудиторию новыми(пусть и не совсем необходимыми) возможностями. Сейчас кто первым создал поддерживаемую и работоспособную реализацию софта/железа - тот и диктует правила. Бывают, конечно, исключения вроде TCP, HTTP, HTML, Javascript и др., но это только потому, что на рынке присутствует несколько лидирующих технологий, поддерживающих этот навоз. Не будь всего этого - Google давно бы уже запилил свой протокол, свой сервер, свой клиент и свой рантайм для распространяемых по сети приложений. Но нет, даже у гугла кишка тонка оказалась, потому что «стандарты». И да, именно стандарты, именно необходимость разных групп людей договариваться(а договариваться люди умеют крайне плохо, ибо зачастую тупы и эгоистичны) и приводить свою деятельность к общему знаменателю приводит к появлению наиболее ублюдочных реализаций(DBus, опять же JS и HTML), которые потом дорого поддерживать и больно выкорчёвывать, ибо «исторически так сложилось».

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

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

Со временем (окончательно — с появлением файловой системы NTFS) проблемы, решавшиеся реестром, исчезли, но реестр остался из-за обратной совместимости, и присутствует во всех версиях Windows, включая последнюю. Поскольку сейчас не существует реальных предпосылок для использования подобного механизма, Microsoft Windows — единственная (не считая ReactOS) операционная система из используемых сегодня, в которой используется механизм реестра операционной системы.

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

Заставить всех перейти на единый синтаксис? Хорошая идея. Предлагаю за образец взять конфиг sendmail.

anonymous
()

systemd 221

не знаю нужно или нет, но раз тру-олдфагам не нравится то и мне тоже (пользую на Arch)

smolnij
()
Ответ на: комментарий от like-all

Стандарты - это обуза, которая заставляет тебя откладывать релиз твоей shiny new прибалдушечки до тех пор, пока третьи лица в виде группы умных дядечек не насупят бровки и не «решатся принять решение».

Тащемта часто стандарты принимаются уже по факту работающих возможностей. Всякие новые свойства в CSS добавляют после того, как все браузеры их реализовали с префиксами и обкатали. HTTP/2 приняли после того, как SPDY доказал свою эффективность.

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

А предлагается вытащить эту функциональность арбитра в logind. Концепт виртуальных терминалов исчезнет, будет только список сессий и у каждой из них флаг «active» (хранимый в logind). Сами программы, работающие в этих сессиях, будут не слушать ядро, а ловить от logind по дбасу события (де)активации сессии.

Соответственно, исчезнет Alt+Fx и вместо него будет loginctl activate N. Хотя, уверен, logind в итоге заставят слушать аналогичные комбинации клавиш и переключать сессии.

Эй!! Куда!!! Я больше в ядре уверен чем в logind. Если вдруг заканчивается доступная оперативная память и всё начинает сильно тормозить, то обычно помогает

 killall -9 наглая_рыжая_морда 

А если logind в подкачке окажется? Это что получается linux зависнет?

rezedent12 ☆☆☆
()
Ответ на: комментарий от A-234

Ну злые у меня шуточки.

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

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

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

В маке это хорошо сделано и можно конфиги из командной строки прямо менять, не ползая по дебрям конфигов из /etc

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

mlockall().

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

intelfx ★★★★★
() автор топика
Ответ на: комментарий от A-234

Браво! Просто убил всех реестрофилов одним выстрелом. Вот и я тоже считаю что реестр был рожден поверх старых убогих ФС без журналирования и восстановления. А сейчас достаточно того что есть сейчас в /etc разве что чуть причесать надо.

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

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

Это и есть реестр.

Способ его хранения — деталь реализации. Я бы сам хотел, чтобы в качестве back-end'а выступала иерархия плейнтекстовых файлов, но современные ФС это просто не вытянут.

Более того, кто мешает написать FUSE, которая представит бинарную БД как набор плейнтекстовых файлов?

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

Более того, кто мешает написать FUSE, которая представит бинарную БД как набор плейнтекстовых файлов?

Хорошая идея, кстати :)

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

Не Гансу Райзеру ли принадлежат слова «если вы испытываете необходимость в СУБД, то у вас плохая файловая система»?

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

Ему.

Я совершенно с ним согласен, но реальность, увы, такова, что <см. выше>. Если рейзер4 миллион файлов в директории (по пару десятков байт каждый) прожуёт и не подавится, то ext234 — сомневаюсь.

intelfx ★★★★★
() автор топика
Последнее исправление: intelfx (всего исправлений: 2)
Ответ на: комментарий от like-all

Уж не знаю почему к этому свелась беседа, но... лично меня устраивает просто тупо как есть сейчас - /etc прекрасен.

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

Следующий шаг - признаться в том, что regedit - торт :)

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

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

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

Я ж fvwm использую, thunderbird, firefox, LibreOffice и eclipse.

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

Мы про dconf-editor говорим? В котором даже нет раздельного поиска по именам ключей и их значениям?

В котором вообще ничего нет кроме функции поиска (экспорт, импорт, печать да что угодно...) ?

Дизайн которого устарел лет за 10 до его появления?

Да вы хоть на мозильный редактор настроек посмотрите!

https://plus.google.com/ АлексейЛюбимов-мск/posts/JX1g8D6TD3W

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

С тобой разговор окончен

Чё-то ты быстро слился - я думал хоть пару страниц ещё продержишься... эх, вот раньше хейтеры были: пукан - стальной, баттхёртная тяга - 100 килоньютонов, впалая грудь колесом, богатыри!

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

Я сделал для линукса гораздо больше, чем Поцеринг.

Вах, полстраницы комментов от одного квазарчика - вот это я понимаю, пригорело на все 100! Пукан рванул так, что ошмётками юниксвея всё вокруг забрызгало :-D

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

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

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

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

Ты тупой и несмешной.

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

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

не знаю нужно или нет, но раз тру-олдфагам не нравится то и мне тоже

Правильно, возможность иметь своё мнение это привилегия думающих. Тебе и «monkey see - monkey do» хватит.

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

Верю. Значит тебе от него ничего и не нужно.

Но сравнивать его с полноценным регедитом смешно.

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

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

Какой замечательный аргумент. Они и не обещали, они просто это делают - лочат дистр на поделие быдлокодера из RH. Это тоже самое, что если бы Майкрософт разрешил установку в Windows только своих, сертифицированных приложений и сделал невозможной установку иного ПО :D Но M$ так не делает, ибо такой вендор-локинг - это бред.

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

кто мешает написать FUSE, которая представит бинарную БД как набор плейнтекстовых файлов?

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

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

а договариваться люди умеют крайне плохо, ибо практически поголовно тупы и эгоистичны

Fixed.

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

уже в который раз ржу

Молодец, разрешаю взять с полки пирожок.

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

установку в ... только ... сертифицированных приложений

А вот у Apple прокатило, хомячки счастливы...

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

И что ты сделал? Я вижу только то, как ты здесь балаболишь.

Лол, эпическая битва хейтеров началась. Я ставлю на квазарчика - у него закалённый в сражениях пукан. Зато у виндузятника внутре клококочет ярость неофита... кто же победит? :-D :-D :-D

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

Насколько я понимаю, возможны оба варианта.

Если дистр полностью перешёл на systemd (и использует для всего нативные юниты) — то там chkconfig будет враппером к systemctl.

Если нет — то там systemctl будет внутри вызывать реальный chkconfig, а потом генерить фейковые юниты для инитскриптов и расставлять свои симлинки согласно sysv-style симлинкам, т. е. просто миррорить конфигурацию sysvinit (это делает systemd-sysv-generator).

intelfx ★★★★★
() автор топика
Последнее исправление: intelfx (всего исправлений: 2)
Ответ на: комментарий от like-all

А просто взять из тестинга, не дожидаясь заморозки?

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

Я сделал для линукса гораздо больше, чем Поцеринг.

А в благодарность ты что-нибудь получил, когда делал для линукса? Или ты альтруист фонат свободного ПО? :-)

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

и что же ты сделал? несколько лет визгливо кукарекал на лоре? лол

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

написать FUSE
неумение программировать

Там же вроде можно чуть ли не на ноде с пыхпыхом писать???

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

Иерархическая структура конфигов должна быть частью LSB, на которую Леня поклал, иначе все опять в зоопарк превратится. По большому счету фиолетово в каком виде это будет, каталоги с текстовыми файлами или специальная БД, важен набор четких правил. Но подход с БД мне кажется детским, с одной стороны плодятся лишние сущности для работы с конфигами, с другой стороны напоминает детский восторг - мы не будем убирать старую комнату лучше давайте переедем в новую. Новую засрут точно также.

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

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

Красиво пишешь, только скажи мне в чем отличие от того что было до системд? Либо ЛФС либо жри что дают.

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

Естественно, я же не поттеринг и не ананимус!

А правда, что в systemd нет никакой поддержки виртуализации? Оно вообще этим не занимается?

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

Вот именно, бред. Этот бред сейчас происходит в дистрибутивах.

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