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

6 марта 2018 года

Леннарт Поттеринг представил релиз системного менеджера 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, не будут исключаться из процесса чистки временной директории.

Источники

править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Доступен системный менеджер systemd 238», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.