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)

systemd нужно перенять стиль именования релизов ядра, навроде «systemd 221 The Great Bombardier»

anonymous
()

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

Но зачем? В 7 центосе chkconfig враппер вроде работал нормально.

goingUp ★★★★★
()
Последнее исправление: goingUp (всего исправлений: 1)

Когда же там уже systemd os?

sehellion ★★★★★
()

буду-ка я первым, кто смешно пошутит про то, что будет спустя 7 версий. хотя наверняка на опеннете нашёлся какой-нибудь юморист.

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

наш linux.

А что ты для него сделал, что он вдруг стал твоим? Он тогда уж больше Поттерингу принадлежит, чем тебе

anonymous
()

Директива IPForwarding= network-файлов systemd-networkd теперь поддерживает значение IPForwarding=kernel, которое инструктирует networkd не изменять значения соответствующих sysctl-переменных.

networkd

Иксы скоро будут в этом говне?

Deleted
()

патчи (особенно большие) теперь настоятельно рекомендуется оформлять в виде pull-реквестов, а не отправлять в список рассылки

не отправлять в список рассылки

В рассылке слать патчи это, конечно, мегакруто и вообще интрепрайз. Почему только сейчас решили перейти?! В общем жесть, и это один из основных «сервисов» ОС?!

alozovskoy ★★★★★
()

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

ппц комбайн.

по теме релиза: может быьб, лет через 5 доведут до ума. пока на продакшен втыкать рано — слишком всё нестабильно.

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

Ну, вообще-то, так много где делают. git send-email, все дела. В ядре так всегда делали. Но у них мейнтейнерство иерархичное, поэтому там это масштабируется.

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

Заинтересовала вещь systemd-networkd, но что-то я до конца не осилил. Если один интерфейс использовать (проводное соединение) — всё нормально, добавил static wlan для точки доступа и пропало проводное (пинг не идёт).

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

Может, потому что в разных дистрах оно ведёт себя «немного» по-разному?

Ну и где-то оно называется update-rc.d, где-то ещё по-другому...

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

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

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

про busybox 13-летние юникс-ветераны и блюстители юниксвея толком не слышали просто

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

в каком итоге?

сейчас оно просто урезанная замена NM, для десктопа с перманентным линком - самое то, ибо NM для такой конфигурации - явный оверхед

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

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

У него есть альтернатива.

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

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

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

конечно восстановит - пошлёт ремонтников по месту обрыва и восстановит

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

Когда линк переподнимется — разумеется, восстановит.

Речь о том, что динамически менять настройки нельзя. Он один раз читает конфиги и всё. Аналога nmcli connection up нет.

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

Ждём, пока David Herrmann запилит логин-скрин.

Архитектура consoled такова, что он показывает консольку на уже созданных сессиях. Поэтому нужно некое подобие DM, которое аутентифицирует пользователя и создаст сессию через PAM со специальным тегом (ничего в этой сессии не запуская). По идее, задача тривиальна, но все ждут.

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

Нет. Пока нет. Но, что стукнет в голову авторам через год никто не знает.

imul ★★★★★
()

Что-то негусто в этот раз. Пропишите Леннарту слабительного.

Кстати, кто пользуется systemd-networkd, расскажите, чем оно лучше моего костылика в /etc/udev/rules.d/ondroed-usb0.rules?

Поддержка вызова LSB-стандартизированной утилиты chkconfig в legacy-конфигурациях была удалена.
Теперь для внесения изменений в конфигурацию инитскриптов вызывается абстрактная утилита /lib/systemd/systemd-sysv-install.

Вот это не понял совсем.

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

кто пользуется systemd-networkd, расскажите, чем оно лучше моего костылика в /etc/udev/rules.d/ondroed-usb0.rules?

В твоём юзкейсе — ничем.

Поддержка вызова LSB-стандартизированной утилиты chkconfig в legacy-конфигурациях была удалена. Теперь для внесения изменений в конфигурацию инитскриптов вызывается абстрактная утилита /lib/systemd/systemd-sysv-install.

Вот это не понял совсем.

Раньше:

systemctl enable -> chkconfig on -> ln -s ...

Теперь:

systemctl enable -> systemd-sysv-install enable -> chkconfig on -> ln -s ...

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

набора служебных компонентов для Linux-based операционных систем, совмещающего в себе функции

Ну наконец-то, а то init-init...

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

Сообщество же

Когда было джастфофан - было сообщество.

А сейчас - кто девушке платит, тот ее и того, танцует.

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

Не знаю. Есть два стула: собирать новый util-linux, который по сложности поддержки в Debian сопоставим с systemd, и, как следствие, брать на шею ещёи этот груз, либо отдельно сбоку собрать новый swapon и применить в пакете dpkg-divert. Первый вариант - правильно, но пупок развяжется поддерживать(это не просто сборка апстрима, но ещё и портирование газиллиона дебианоспецифичных патчей и скриптов); второй - грязно, но зато голова не будет болеть, если свалится на голову какой-нибудь внезапный баг в util-linux. И в этом релизе я ещё легко отделаюсь: если бампнут версию ядра в последующих, то мне придётся черрипикать апстрима для отсева багов да и только. И ждать заморозки Stretch.

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

А что ты для него сделал, что он вдруг стал твоим? Он тогда уж больше Поттерингу принадлежит, чем тебе

Тогда уж я оставлю его Поцтерингу. Меня ждет не моя винда, да, ворованная, тут хоть однозначно ясно, что является собственностью производителя, и нет лживой идеологии а-ля «Хэй, налетай! Линукс наш славный ты заюзай, проверяй, багрепорты отправляй! Он свободен как наш бомж, коль не нравится - не трожь!» Так вот Линукс это уже не опенсорс, он не дает свободу выбора. Он становится PoetteringSource. И тут тебе дают что-то одно, а ассортимента толком нет.

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

В твоём юзкейсе — ничем.

Это радует.

Раньше:
Теперь:

И нахрена? Всё равно всё сводится к ln -s, так нахрена этот огород?

r3lgar ★★★★★
()

Неужели крупные вендоры не видят угрозы в этом поделии? Почему меня напрягает сисямдэ? Боже храни OpenRC и прочее подобное.

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

Поцтеринг страшный костыльщик и любитель плодить сущности

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

systemd 221 Йогурт
systemd 222 Багет
systemd 223 Батут
systemd 224 Будапешт
systemd 225 Брудершафт
systemd 226 Багратион
systemd 227 Бахчисарай

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

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

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

коль не нравится - не трожь

И в чём проблема этой «идеологии»? В чём она «лжива»? Не нравится — не трожь, действительно.

This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
intelfx ★★★★★
() автор топика
Последнее исправление: intelfx (всего исправлений: 2)
Ответ на: комментарий от intelfx

Лжива она тем, что обещает возможности, например якобы улучшение, вклад в развитие линупса. Но на самом деле далеко не все вклады принимаются. Еще фанаты этой идеологии любят напирать на то, что с линуксом ты честный и законопослушный гражданин, а ежели винду юзаешь - то пират и вообще проприетарщик. Потом эти же говорят, что тебе надо сделать что-то ради линукса, и при этом же категорически отрицают эту возможность грубым выпадом «Not your personal software». Может хватит уже морочить голову всем этим фанатизмом? Сначала завлекаем, а потом говорим «у тебя нет прав на этот софт, вообще не осилил» и гоним прочь. Так линукс и останется в полной жопе из-за цинизма и лжи.

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