Доступен системный менеджер systemd 238

Леннарт Поттеринг представил релиз системного менеджера systemd 238. Из новшеств можно отметить включение по умолчанию учёта потребления памяти, расширение числа настроек systemd-sysusers, добавление настройки TemporaryFileSystem для переопределения частей ФС разделами tmpfs, обеспечение автоматического монтирования /sys/fs/bpf.

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

  • Для unit-ов по умолчанию включена опция MemoryAccounting, обеспечивающая учёт потребления памяти при помощи cgroup. По оценке разработчиков в современных ядрах (4.14+) негативное влияние на производительность аккаунтинга через cgroup минимально и данный режим уже готов для включения по умолчанию. Для отключения при сборке можно указать «-Dmemory-accounting-default=false». Учёт потребления ресурсов CPU, ввода/вывода и сетевой активности по-прежнему отключен по умолчанию;
  • Добавлена настройка TemporaryFileSystem для переопределения частей реальной ФС при помощи монтирования временных разделов на базе tmpfs. В комбинации с BindPaths и BindReadOnlyPaths новая возможность может применяться для скрытия файлов или каталогов, к которым не должен иметь доступ unit, сохраняя при этом возможность обращения к некоторым путям ниже в дереве директорий. Для скрытия домашней директории и runtime-каталогов может использоваться настройка ProtectHome=tmpfs, которая эквивалентна определению «TemporaryFileSystem=/home /run/user /root»;
  • В systemd-logind добавлена возможность вызова отдельного обработчика закрытия крышки ноутбука при наличии подсоединения к стационарному источнику питания (HandleLidSwitchExternalPower в logind.conf);
  • В настройках sysusers.d для пользователя теперь можно указать номер группы в дополнение к цифровому идентификатору пользователя (например, «u username 123:456») или без него (например, «u username -:456»);
  • Настройки к systemd-sysusers теперь могут передаваться в качестве аргумента в командной строке через опцию «—inline»;
  • Добавлена возможность задания shell для пользователя через sysusers.d (раньше, всегда использовался /bin/sh для root и /sbin/nologin для остальных пользователей);
  • Юниты, не являющиеся сервисами, теперь запускаются по умолчанию в режиме KeyringMode=shared, при котором утилиты mount и swapon имеют доступ к ключам в основном хранилище ключей;
  • Обеспечено автоматическое монтирование /sys/fs/bpf;
  • Выполняемые в процессе обновления rpm-пакета скрипты для обновления базы оборудования hwdb, правил udev и каталога с журналами (%udev_hwdb_update, %udev_rules_update, %journal_catalog_update) заменены на пустые заглушки, а данные операции вынесены в триггеры, запускаемые в конце транзакции установки пакета;
  • В systemd-sysusers добавлен режим, при котором конфигурация задаётся в командной строке, но не выполняется напрямую, а вначале переносится в файлы конфигурации на диске. Режим полезен для применения в скриптах установки пакетов, в которых нужно создать пользователя до установки принадлежащих ему файлов на диск. Для rpm-пакетов новая возможность представлена в виде макроса
    %sysusers_create_package (макросы %sysusers_create и %sysusers_create_inline объявлены устаревшими). Аналогичный макрос (%tmpfiles_create_package) для сохранения настроек на диск добавлен для systemd-tmpfiles;

  • В systemd-analyze добавлена опция «—global» для работы в контексте глобальной конфигурации пользователя и параметр unit-paths для перечисления путей загрузки unit-а, который можно использовать с опциями «—systemd», «—user» и «—global»;
  • В триггер udevadm добавлена опция «—settle» («-w») для завершения работы после наступления любого обрабатываемого события;
  • Добавлен новый вызов DBus org.freedesktop.systemd1.Manager.AttachProcessesToUnit, который можно использовать для миграции сторонних процессов в область обработки юнита;
  • В systemd-detect-virt реализовано автоматическое определение механизмов виртуализации QNX, сведения о которых могут быть использованы в блоках ConditionVirtualization;
  • В юнитах slice теперь можно использовать настройку IPAccounting;
  • Добавлена новая сборочная опция «-Dsplit-bin» для определения точки слияния
    каталогов bin и sbin;

  • Добавлена новая сборочная опция «-Dok-color» для определения цвета сообщений с состоянием «OK» в процессе сборки;
  • Из-за проблемы с сериализацией юнитов, использующих настройку JoinsNamespaceOf вместе с режимом PrivateNetwork=yes, после установки новой версии systemd и выполнения daemon-reexec требуется перезапуск данных юнитов;
  • Изменено поведение systemd-tmpfiles: доступные только на чтение файлы, владельцем которых является root, не будут исключаться из процесса чистки временной директории.

Доступен системный менеджер systemd 238: Один комментарий

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.