Релиз systemd 230

Представлен выпуск системного менеджера systemd 230. Из новшеств можно отметить включение по умолчанию DNSSEС и режима чистка процессов пользователя после завершения сеанса, добавление поддержки унифицированной иерархии cgroup, возможность настройки proxy ARP для сетевого интерфейса, новые типы юнитов «generated» и «transient», новую команду «systemctl revert» и возможность создания виртуальных прямых сетевых линков между контейнерами.

Основные изменения:

  • В DNS-резолвере systemd-resolved по умолчанию включен DNSSEC. DNSSEC доступен в режиме «allow-downgrade» (автоматический откат на режим без DNSSEC) и может быть отключен через настройку «DNSSEC=» в resolved.conf или на этапе сборки при указании опции «configure --with-default-dnssec=no». Дистрибутивам пока не рекомендуется включать DNSSEC по умолчанию, пока не будут выявлены все возможные несовместимости режима DNSSEC с DNS-серверами;
  • В systemd-resolve добавлена возможность резолвинга DNS-записей DANE (DNS-based Authentication of Named Entities) при указании опции »--tlsa» и OPENPGPKEY при указании опции »--openpgp», а также создания дампа raw-данных записей DNS при указании опции »--raw=дамп»;
  • В systemd-logind по умолчанию после выхода пользователя обеспечено принудительное завершение процессов, запущенных в составе пользовательского сеанса. Управлять принудительным завершением можно через опцию «KillUserProcesses=» в logind.conf, которая теперь выставлена в значение «yes» по умолчанию, что требует отдельных настроек, если необходимо сохранить работу длительно выполняемых пользовательских процессов (для работы screen и tmux требуется специальная настройка сервисов, например, включение «lingering» через loginctl). Для восстановления старого поведения на этапе сборки можно указать опцию »--without-kill-user-processes»;
  • В systemd-logind добавлены новые настройки «SessionsMax=» и «InhibitorsMax=», которые по умолчанию установлены в значение 8192;
  • В systemd-logind добавлена поддержка обновления конфигурации по сигналу SIGHUP;
  • Добавлена поддержка добавленной в ядре 4.5 унифицированной иерархии cgroup, для задействования которой в systemd при загрузке требуется указать опцию командной строки ядра «systemd.unified_cgroup_hierarchy=1». Для унифицированной иерархии также добавлен контроллер cgroup «io», который дополнил контроллеры «memory» и «pids»;
  • Поддержка протокола LLDP (Link Layer Discovery Protocol) расширена возможностями использования пассивного (только приём) и активного (отправка) режимов. Пассивный режим включен по умолчанию в systemd-networkd, а активный режим включен по умолчанию в изолированных контейнерах с адресацией внутренней сети. Для просмотра статистики можно использовать команду «networkctl lldp»;
  • Добавлена возможность настройки уникальных идентификаторов IAID и DUID, отправляемых в запросах DHCP. Идентификаторы могут быть определены как для всей системы, так и для отдельных файлов .network при помощи опций «DUIDType=», «DUIDRawData=» и «IAID=»;
  • В systemd-networkd добавлена возможность настройки proxy ARP для отдельных сетевых интерфейсов, используя опцию «ProxyArp=» в файлах ».network». Кроме того, в файлы .netdev добавлены опции «MulticastQuerier=» и «MulticastSnooping=» для включения режима отправки запросов и прослушивания трафика IGMP;
  • В файлах .network представлена новая опция «PreferredLifetime=», позволяющая определить время жизни IP-адреса;
  • В DHCP-сервере из состава systemd-networkd активирована по умолчанию опция «EmitRouter=», включающая поле DHCP Option 3 (Router);
  • Тестовая утилита /usr/lib/systemd/systemd-activate переименована в systemd-socket-activate и размещена в /usr/bin;
  • В systemd-journald задействован отдельный поток для сброса прокэшированных данных на диск при закрытии файлов с журналом, что решило проблемы с задержками записи в лог на медленных дисках;
  • В journalctl добавлен новый метод вывода »-o short-unix», при котором к записями в логе добавляется префикс с эпохальным (UNIX) временем (число секунд с 1970 года). Также добавлена опция »--no-hostname» для исключения столбца с именем хоста;
  • Устройства фреймбуфера, сканеры и 3D-принтеры теперь подключаются в режиме «uaccess» и доступны для вошедших в систему пользователей;
  • В опции «DeviceAllow=» теперь можно указывать спецификаторы (начинаются с символа »%»);
  • В «systemctl show» добавлена опция »--value» позволяющая вывести только содержимое заданного свойства юнита, без указания его имени;
  • Для автоматически сгенерированных и созданных в процессе работы через обращение к API файлов добавлены новые типы юнитов «generated» и «transient»;
  • Добавлена новая команда «systemctl revert» для отката предоставляемой вендором версии файла юнита в ситуации внесения в файл юнита локальных изменений;
  • В «machinectl clean» добавлена возможность автоматического удаления всех или только скрытых образов контейнеров;
  • В systemd-tmpfiles добавлен новый тип записи «e», позволяющий организовать очистку директорий, если они уже существуют;
  • В systemd-nspawn добавлена поддержка автоматического исправления UID/GID и ACL для всех файлов и директорий в контейнере для их соответствия диапазону UID/GID, выбранному при запуске контейнера;
  • В systemd-nspawn добавлена новая опция »--network-zone=» для создания виртуальных прямых линков между контейнерами;
  • Для socket-юнитов добавлены опции «TriggerLimitIntervalSec=» и «TriggerLimitBurst=» для настройки лимитов на возможное число активаций в заданный промежуток времени;
  • Компонент systemd-bootchart вынесен в отдельный репозиторий;
  • Из состава удалён systemd-bus-proxyd так как kdbus вряд ли будет принят в ядро в своём текущем виде;
  • Удалены библиотеки libsystemd-daemon.so, libsystemd-journal.so, libsystemd-id128.so и libsystemd-login.so, которые ранее были объявлены устаревшими.
  • Удалена опция «Capabilities=», вместо которой следует использовать «AmbientCapabilities=» и «CapabilityBoundingSet=».

© OpenNet