Релиз systemd 226

Спустя десять дней с момента прошлого выпуска представлен релиз системного менеджера 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=» расширены возможностью нерекурсивного монтирования.

© OpenNet