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

Наиболее существенные изменения:

  • В systemd-resolved добавлена поддержка кэширования DNS-запросов и полноценная реализация LLMNR (Link Local Multicast Name Resolution). Представлен systemd-resolved D-Bus API для резолвинга имён, адресов и RR-записей через DBus. В отличие от встроенного в glibc резолвера, в systemd-resolved DNS-сервер и кэш разделены и привязаны к сетевым интерфейсам. DNS-запросы отправляются одновременно через все сетевые интерфейсы, указанные в настройках DNS-сервера (чтобы корректно обработать отдельные имена, используемые внутри VPN и LAN). Параметры для работы systemd-resolved могут быть автоматически получены от systemd-networkd, который в свою очередь может получить их по DHCP.

    Добавлен новый NSS-модуль "nss-resolve", который может использоваться в glibc "nss-dns" для резолвинга имён через systemd-resolved. Добавлен новый NSS-модуль nss-mymachines для автоматического резолвинга имён всех зарегистрированных локальных контейнеров. Для формирования запросов добавлена утилита "systemd-resolve-host". Обеспечена поддержка IDNA для работы с доменами, в которых используются национальные наборы символов (".рф" и т.п.). В будущем выпуске ожидается поддержка DNSSEC и mDNS/DNS-SD;

  • В состав включена новая утилита "networkctl", в рамках которой развивается консольный клиент для подсистемы настройки сети "networkd". В настоящее время утилита может использоваться только для получения информации о сетевых интерфейсах и их состоянии. В будущем планируется довести возможности networkctl до полнофункционального инструмента для управления сетью. В отличие от iproute2, утилита networkctl позиционируется как более высокоуровневый инструмент который осуществляет агрегацию статистики из разных источников, таких как netlink, udev, networkd и встроенный в networkd dhcp-клиент. Полученные данные комбинируются в наглядных обобщённых отчётах. 

  • В шаблоны /usr/lib/sysusers.d/, используемые утилитой systemd-sysusers для формирования содержимого /etc/passwd и /etc/group, добавлена поддержка нового типа сток конфигурации "r", применяемого для задания диапазона UID/GID, выделяемого системным пользователям и группам. В строку типа "u" добавлен столбец для определения домашней директории. В systemd-sysusers добавлена возможность загрузки шаблона из стандартного ввода (STDIN), а не только из файла. Обеспечено обновление содержимого shadow-файлов;
  • Добавлена новая библиотека systemd-terminal, предоставляющая функции для разбора и отрисовки данных TTY. В будущем, планируется использовать данную библиотеку в новой подсистеме виртуальных терминалов, работающей в пространстве пользователя;
  • Добавлена новая утилита systemd-journal-upload, позволяющая организовать процесс загрузки журнала на внешние системы, на которых запущен сервис systemd-journal-remote;
  • Добавлен новый компонент "systemd-firstboot", который при первой загрузке интерактивно запрашивает у пользователя основную информацию для использования в systemd (часовой пояс, пароль root, имя хоста);
  • В некоторых bus API, предоставляемых обработчиком PID 1, обеспечена опциональная возможность обращения к PolicyKit для получения подтверждения выполнения привилегированных операций для непривилегированных клиентов;
  • В systemd-timesyncd добавлена поддержка автоматического получения настроек доступа к NTP-серверу через systemd-networkd, который может получить эти настойки через DHCP;
  • В юниты .socket добавлены директивы DeferAcceptSec, KeepAliveIntervalSec, KeepAliveTimeSec, KeepAliveProbes и NoDelay для включения опций TCP-сокетов TCP_DEFER_ACCEPT, keep-alive и выключения алгоритма Nagle;
  • В logind добавлена поддержка нового типа сеансов "web", которые можно использовать для запуска таких web-интерфейсов, как Cockpit, с регистрацией web-клиента в форме PAM-сеанса;
  • В systemd-nspawn добавлена опция "--volatile=" для запуска контейнера без предварительно подготовленных директорий /etc и /var;
  • Клиент kdbus переведён на использование новой подсистемы ядра Linux 3.17 memfd вместо старого варианта, привязанного к kdbus;
  • В systemd-analyze добавлена команда "verify" для проверки unit-файлов в режиме offline;
  • В клиент и сервер DHCP из состава systemd-networkd добавлена поддержка метода FORCERENEW и опций для настройки идентификатора клиента и broadcast-режима;
  • В systemd-networkd добавлены дополнительные опции для настройки агрегирования сетевых интерфейсов (bonding), обеспечена возможность указания метрики для статических маршрутов. По умолчанию прекращена отправка широковещательных запросов DHCP-клиентом (для включения нужно установить опцию RequestBroadcast=yes);
  • udev теперь в первую очередь применяет имена сетевых интерфейсов, переданных ядром, если ядро поддерживает обеспечение предсказуемости таких имён. Поведение можно изменить через настройку NamePolicy= в файлах .link;
  • В journald добавлена поддержка сжатия с использованием алгоритма LZ4. Так как наиболее распространенная реализация syslog rsyslog может получать данные из journald напрямую, journald теперь не перенаправляет по умолчанию все данные в работающий демон syslog. Для включения перенаправления следует использовать опцию ForwardToSyslog= в journald.conf;
  • Добавлена новая утилита "systemd-escape" для экранирования спецсимволов в строках (например, используется для построения имён unit-ов).


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