1

После почти пяти месяцев разработки Леннарт Поттеринг (Lennart Poettering) представил релиз системного менеджера systemd 209, примечательный обеспечением полноценной поддержки kdbus, включением в состав нового компонента systemd-networkd для настройки параметров сети, большим числом новых опций и API. Новый выпуск ориентирован в первую очередь на наращивание функциональности и содержит большую порцию нового кода, поэтому он требует дополнительной стабилизации и не рекомендуется для включения в состав веток дистрибутивов с длительным временем поддержки. В ближайшее время с интервалом в несколько недель планируется выпустить несколько корректирующих выпусков, устраняющих выявленные проблемы.

Systemd сочетает в себе функции системы инициализации, механизм для контроля за выполнением фоновых процессов, службу для журналирования событий и средства для управления сервисами, сеансами пользователей и подключаемыми устройствами. Для определения параметров сервисов в Systemd используется набор конфигурационных unit-файлов, вместо оформления сценариев запуска в виде shell-скриптов. Система нацелена на интенсивную параллелизацию выполнения сервисов на этапе загрузки системы, вобрав в себя лучшие черты таких систем, как launchd (Mac OS X), SMF (Solaris) и Upstart (Ubuntu, старые версии Fedora). В настоящее время на использование systemd уже перешли такие дистрибутивы, как Fedora, openSUSE, OpenMandriva и Arch Linux, одобрен переход на systemd дистрибутивов Debian и Ubuntu.

Основные улучшения:

  • Полноценная поддержка работы с использованием сервиса kdbus, реализованного на уровне ядра и не требующего запуска традиционного демона DBus, выполняемого на уровне пользователя. Для работы задействована новая библиотека sd-bus с реализацией универсальной прослойки для организации обмена сообщениями, способной работать как поверх kdbus, так и с использованием DBus. Библиотека libdbus исключена из числа обязательных зависимостей.

        Поддержка kdbus интегрирована непосредственно в процесс, обслуживающий PID 1. При включении работы с использованием kdbus появляется поддержка нового типа юнитов ".busname", которые позволяют использовать технику активации по запросу с шины kdbus (запуск обработчика при поступлении связанного с ним имени шины), работающую по аналогии с юнитами .socket" (активация по сокету). Для преобразования классических файлов с параметрами активации по шине dbus1 в юниты .busname и .service добавлен специальный конвертер. Для включения работы с использованием kdbus требуется сборка systemd с опцией "--enable-kdbus". Поддержка классического DBus сохранена и пока остаётся рекомендованной по умолчанию.

        Напомним, что в рамках проекта Kdbus развивается надёжная, быстрая и безопасная система обмена сообщениями, поддерживающая доставку сообщений как в мультикаст-режиме (от одного отправителя к группе получателей), так и в режиме точка-точка. Функциональность Kdbus выходит за рамки DBus, но позволяет создать реализации DBus поверх рассматриваемой подсистемы ядра, не требующие запуска в пространстве пользователя отдельного демона D-Bus. Kdbus пока не входит в состав основного ядра Linux и ожидается не раньше ядра 3.15. Для тестирования рекоендуется использовать свежий срез git-репозитория kdbus.

  • Новый компонент "systemd-networkd", предназначенный для унификации компонентов дистрибутивов, используемых для настройки параметров сети (скрипты /etc/network, /etc/sysconfig/network, /etc/sysconfig/network-scripts/ifcfg-* и т.п.). Сервис systemd-networkd реализован в форме фонового процесса и может выполняться параллельно с традиционными скриптами и демонами настройки сети. Настройка systemd-networkd производится через создание файлов конфигурации /etc/systemd/network/*.network.

        Из поддерживаемых в настоящее время возможностей отмечаются средства для настройки VLAN, агрегирования интерфейсов (bonding) и сетевых мостов. Поддерживается настройка параметров локальных сетевых интерфейсов как через статические правила, так и через DHCP. Средства для интеграции с интерактивными конфигураторами сети относятся к планам на будущее, поэтому область использования "systemd-networkd" пока ограничена настройкой сети для initrd, контейнеров, встраиваемых систем и серверов.

        При выборе файла конфигурации для текущего устройства используется логика сходная с выбором ".link"-файлов, при которой осуществляется линейный разбор файлов в алфавитном порядке и применение первого подходящего условиям файла конфигурации. В отличие от файлов ".link", для категории ".network" доступна возможность сопоставления по именам сетевых интерфейсов, учёта состояния линка и привязки обработчиков горячего подключения интерфейсов по маске. Например, можно обойтись одним конфигурационным блоком для автоматического добавления в сетевой мост всех имеющихся Ethernet-интерфейсов.

        Пример файла конфигурации:


     Консоль:
           [Match]
              MACAddress=
              Path=
              Driver=
              Type=
              Name=

           [Network]
              Description=

           [IP]
              Gateway=192.168.1.1
              Address=label at 192.168.1.23/24
              Address=fe80::9aee:94ff:fe3f:c618/64

  • Ранее разрозненные компоненты libsystemd-journal.so, libsystemd-id128.so, libsystemd-login и libsystemd-daemon объединены в одну общую библиотеку libsystemd.so, что позволило заметно сократить дублирование кода в разных частях systemd и избавиться от цикличных зависимостей. На уровне экспортируемых символов новая библиотека полностью соответствует старым библиотекам. При указании опции "--enable-compat-libs" предусмотрена возможность сборки заглушек, транслирующих старые библиотечные вызовы в libsystemd.so.

  • Добавлена новая программа "systemd-socket-proxyd", которую можно использовать в качестве двунаправленного прокси для TCP-сокетов. В частности, программа будет полезна для обеспечения поддержки активации по сокету в сервисах, которые сами по себе не предусматривают возможность такой активации, в том числе для запуска виртуальных машин.

  • Добавлены новые утилиты для сохранения/восстановления состояния rfkill и подсветки клавиатуры при завершении работы/загрузке;

  • В udev добавлена новая конструкция SECLABEL{} для привязки к файлам устройств специальных меток безопасности (security label). В настоящее время поддерживается только SECLABEL{selinux}, но в будущем ожидается поддержка и других фреймворков;

  • В udev реализована новая схема настройки атрибутов сети на основе файлов /etc/systemd/network/*.link. В данных файлах теперь допустимо сопоставление по MAC-адресу, пути файла устройства, имени и типу устройства с применением атрибутов с правилами наименования, скорости линка, MTU, duplex-режимам , Wake-on-LAN, MAC-адресом или правилами назначения MAC-адреса;

  • В базу данных оборуования udev добавлена информация о SDIO-устройствах;

  • Новые API: sd-event.h, sd-rntl.h, sd-dhcp-client.h, sd-resolve.h, sd-bus.h, sd-memfd.h, sd-rtnl.h и sd-utf8.h;

  • В утилиту journalctl добавлена опция "--list-boots" для вывода списка недавних загрузок с данными о времени загрузки и идентификаторах;

  • В утилиты systemctl, loginctl, timedatectl, busctl, systemd-run и т.п. добавлена опция "-M" для прямого (без SSH) соединения с определённым локальным изолированным контейнером, созданным при помощи libvirt-lxc или nspawn;

  • В systemd-run и systemd-analyze добавлена опция "-H" для соединения с внешним хостом по SSH, что может использоваться, например, для поставки в очередь работ на удалённых хостах;

  • В machinectl добавлены команды "login" и "reboot" для вызова getty login в контейнере или перезагрузки контейнера;

  • В systemctl добавлена команда "list-timers" для вывода списка установленных таймер-юнитов (аналог cron) и времени их следующего срабатывания. В таймер-юнитах добавлена поддержка значений "yearly" и "annually" в блоке OnCalendar= для определения срабатывания раз в год, а также настройка AccuracySec= для управления точностью вызова (по умолчанию 1min).

  • В systemctl добавлена команда "cat" для показа полной конфигурации юнита, т.е. содержимого базового юнита и юнита с изменениями;

  • В systemd-nspawn добавлены опции для запуска контейнера с привязкой к меткам SELinux, определения специфичных переменных окружения, отключения использования отдельного пространства идентификаторов процессов, переноса сетевого интерфейса в контейнер;

  • В /etc/systemd/system.conf добавлены новые директивы для задания используемых по умолчанию таймаутов для юнитов и лимитов на время запуска;

  • Во все фоновые процессы добавлена логика отслеживания зависаний (watchdog).


Источник: http://www.opennet.ru/opennews/art.shtml?num=39135

2

verg пишет:

Mandriva

Нет такого дистрибутива ab



/fixed
verg

При укусе ядовитой змеи, держите её голову на расстоянии от себя, чтобы она не укусила вас в ответ...

3

/update
Новость обновлена.

4

Ждём ебилдов!

5

"systemd-networkd"

Надеюсь это, со временем, полностью заменит NetworkManager. И чем быстрее, тем лучше.

6

urfin пишет:

"systemd-networkd"

Надеюсь это, со временем, полностью заменит NetworkManager. И чем быстрее, тем лучше.

Да и вообще - пусть заменит!

Какая-то уже усталость от этой борьбы...

7

urfin пишет:

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

[проходя мимо]Да этот systemd вообще скоро всю ОС заменит, вместе с ядром![/проходя мимо]

Истинный hotplug - это обычная электрическая розетка: воткнул - работает, и никаких драйверов.
Arch Linux/Xfce/Xiaomi Mi Notebook Pro 15.6 | Slackware64-current/Xfce/Lenovo G580

8

yars пишет:

Да этот systemd

Можно по разному относиться к системд, нравится он, не нравится, но Рубикон уже пройден. Все равно он будет стоять во всех дистрибутивах линукса, как бы и кто бы этому не противились. Только достаточно крупная корпорация могла бы инициировать разработку полноценные форков всех служб, включенных в системд, но поскольку этого до сих пор не случилось, то значит нет веской мотивации этому. Поэтому: sysVinitкороль умер, да здравствует systemdкороль!

9

urfin пишет:

Поэтому: sysVinitкороль умер, да здравствует systemdкороль!

аж  слеза навернулась ak

Спросить - стыд минуты, не узнать - стыд всей жизни

10

urfin пишет:

sysVinitкороль умер, да здравствует systemdкороль!

Помер дед Максим, да и...

Не жалко. За время пользования Линуксом, уже превысившее пубертатный период, посмотрел разные новшества. Всё идёт к унификации. Ну и хорошо. Хорошо ли, что эта унификация именно systemd? А какая разница, другой-то нет.

А сколько было дёрганий и порывов... Турецкий совершенно самостоятельный дистрибутив, не помню теперь, как его... Потом ещё Ark. А клонов Федориного горя на пространствах СНГ - ASP, XP... Где этот "сад ста цветов"(с) Мао

Так и upstart и sysVinit как ни будь помянем рюмочкой...

11 (20.02.2014 22:06:39 отредактировано lone_wolf)

stranger пишет:

Так и upstart и sysVinit как ни будь помянем рюмочкой...

Да помяним помяним  az  Они служили нам верой и правдой... Но всё двигается вперед ничего не стоит на месте...

Спросить - стыд минуты, не узнать - стыд всей жизни

12

stranger пишет:

Турецкий совершенно самостоятельный дистрибутив

Он ещё дёргается, Гента тоже.

13

Ujin пишет:
stranger пишет:

Турецкий совершенно самостоятельный дистрибутив

Он ещё дёргается, Гента тоже.

Ну тогда уже и Слака

Спросить - стыд минуты, не узнать - стыд всей жизни

14

lone_wolf пишет:
Ujin пишет:

Он ещё дёргается, Гента тоже.

Ну тогда уже и Слака

Долго ли? На какой базе? И смысл?

Не, я ваще по жизни обожаю Слаку много лет, если чо...

Но реально: завтра её некому собирать. И?

Помню, любил тоже PCLinuxOS. Потом (две разных причины) разлюбил вовсе. Так и было: тут Textar, тут поём, здесь играем, там собираем, там рыбу заворачивали... И?

15

stranger пишет:

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

Живет и развивается. Жду украинскую локацию.

Segui il tuo corso, e lascia dir le genti

16

jashaw5 пишет:

локацию.

Локализацию, может?
Локаций у нас тут 603700 кв. км.

«Я устал, я ухожу.»

17

Vitri пишет:

Локализацию, может?
Локаций у нас тут 603700 кв. км.

Спасибо, ошибся, приношу свои извинения. bh

Segui il tuo corso, e lascia dir le genti

18

Не, ну я например не пользуюсь systemd... в Gentoo без него отлично живётся.
ы. (наверное) начну тогда, когда в стабильном выпуске Debian появиться.

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