Спустя десять дней с момента прошлого выпуска представлен релиз системного менеджера systemd 226, который содержит исправления ошибок, корректирующие изменения и порцию улучшений. Из наиболее заметных новшеств отмечается поддержка унифицированной иерархии cgroups, расширение возможностей реализации сервера и клиента DHCP, улучшение интеграции с PolicyKit и поддержка файлов конфигурации для nspawn.

Подробнее об улучшениях:

  • Улучшения во встроенной в systemd-networkd реализации протокола DHCP:
    • В DHCP-сервере реализована возможность выдачи информации о серверах DNS и NTP. Включение и настройка осуществляется при помощи опций "EmitDNS=", "DNS=", "EmitNTP=" и "NTP=";
    • В сервер и клиент DHCP добавлена поддержка передачи и приёма информации с параметрами часового пояса. Настройка осуществляется при помощи опций "UseTimezone=", "EmitTimezone=" и "Timezone=". Передача данных о текущем часовом поясе автоматически включена для контейнеров;
    • Возможность настройки времени, на которое клиентам выделяются IP-адреса ("MaxLeaseTimeSec=" и "DefaultLeaseTimeSec=");
    • В DHCP-сервере увеличена стабильность выделения клиентам адресов (leases) - по возможности клиентам выдаются те же самые адреса, даже если сервер был перезапущен;
    • Для контроля метрик пула выданных клиентам адресов в DHCP-сервер добавлены опции "PoolOffset=" и "PoolSize=";
  • При обращении к PolicyKit в процессе управления юнитами, systemd теперь добавляет к запросу дополнительные поля, такие как имя юнита и желаемая операция. Данные поля позволяют создавать более изощрённые правила PolicyKit, при принятии решения учитывающие связанные с systemd параметры;
  • В nspawn добавлена поддержка загрузки настроек в отдельные файлы ".nspawn", которые могут сопровождать файлы с образами или директории с контейнерами, и содержать дополнительные настройки для контейнера. Файлы ".nspawn" можно рассматривать как метод, альтернативный заданию настроек в командной строке;
  • Добавлена опциональная поддержка появившегося в ядре Linux 3.16 нового интерфейса cgroups, основанного на применении единой унифицированной иерархии cgroup, определяющей применение правил к группам процессов без применения отдельных иерархий для распределения ресурсов CPU и памяти. Поддержка унифицированной иерархии включается через передачу ядру опции "systemd.unified_cgroup_hierarchy=1", при указании которой systemd попытается примонтировать /sys/fs/cgroup. Для выборочного включения унифицированной иерархии cgroup для заданных контейнеров в nspawn добавлена переменная окружения $UNIFIED_CROUP_HIERARCHY (по умолчанию используется тот же тип cgroup, что и на хост системе). Отмечается, что для корректной работы унифицированной иерархии cgroup требуется ядро Linux 4.2;
  • Представлен новый специализированный юнит "init.scope", объединяющий параметры, связанные с первым идентификатором процесса (PID 1). Например, init.scope можно использовать для определения потребляемых ресурсов и привязки ограничений к PID 1, который вынесен из корневого дерева cgroup;
  • В systemd-networkd добавлена поддержка генерации предсказуемых имён интерфейсов для устройств virtio и возможность настройки ('EncapsulationLimit=') лимита на уровень инкапсуляции в туннелях;
  • Обеспечена поддержка концепции пользовательских шин (user bus) вместо сеансовых шин (session bus) в случае использования демона DBus 1.10 (включается опцией "--enable-user-session"). Ранее пользовательские шины можно было использовать только на системах с kdbus;
  • В утилиту cgtop добавлена поддержка игнорирования нитей ядра при подсчёте задач и cgroup. Число процессов по умолчанию теперь суммируется рекурсивно. Для возврата к старому поведению представлены опции "-k" и "--recursive=". Утилита также адаптирована для корректной поддержки контейнеров;
  • В systemd-nspawn опции "--bind=" и "--bind-ro=" расширены возможностью нерекурсивного монтирования.


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