Релиз системного менеджера Systemd 198

9 марта 2013 года

Леннарт Поттеринг (Lennart Poettering) представил релиз системного менеджера systemd 198, примечательный добавлением утилит bootctl, systemd-activate и kernel-install, поддержкой SSL в systemd-journal-gatewayd, возможностью управлять ограничением ресурсов на лету, поддержкой переопределения опций unit-файлов через создание отдельных файлов в специальной директории, возможностью использования одного загрузочного раздела для разных дистрибутивов.

Systemd сочетает в себе функции системы инициализации, механизм для контроля за выполнением фоновых процессов, службу для журналирования событий и средства для управления сервисами, сеансами пользователей и подключаемыми устройствами. Для определения параметров сервисов в Systemd используется набор конфигурационных unit-файлов, вместо оформления сценариев запуска в виде shell-скриптов. Система нацелена на интенсивную параллелизацию выполнения сервисов на этапе загрузки системы, вобрав в себя лучшие черты таких систем, как launchd (Mac OS X), SMF (Solaris) и Upstart (Ubuntu, старые версии Fedora). В настоящее время на использование systemd уже перешли такие дистрибутивы, как Fedora, openSUSE, Mandriva и Arch Linux.

Из наиболее интересных новшеств можно отметить:

  • Добавлена поддержка переопределения отдельных элементов конфигурации unit-файлов или дополнения unit-файлов, через создание дополнительных файлов в ассоциированной с сервисом директории. Указанная возможность позволяет изменять параметры без непосредственного изменения unit-файла. Дополнительные файлы конфигурации создаются как "/etc/systemd/systemd/foobar.service.d/*.conf" и загружаются после обработки unit-файла, т.е. могут дополнять или переопределять их. Ранее для внесения изменений в unit-файлы приходилось копировать нужный unit из директории /usr/lib/systemd/system/ в /etc/systemd/system/ и там вносить в него изменения или создавать новый файл в /etc/systemd/system/ и подключать в нему существующий unit-файл через директиву ".include";
  • Обеспечена возможность динамического изменения на лету параметров ограничения ресурсов на базе cgroups для всех unit-файлов. Например, без остановки работы сервиса можно поменять ограничения командой, подобной "systemctl set-cgroup-attr foobar.service cpu.shares 2000". После выполнения команды изменение будет сохранено на диск и продолжит действовать после перезапуска сервиса;
  • В nspawn в список включаемых для контейнеров capabilities добавлено назначение CAP_AUDIT_WRITE и CAP_AUDIT_CONTROL, что позволяет упростить загрузку в изолированном контейнере немодифицированной системы Fedora (отмечается, что Fedora по прежнему нужно загружать с передачей в ядро параметра audit=0 из-за наблюдаемых проблем в работе системы аудита);
  • В nspawn добавлены новые опции "--bind=" и "--bind-ro=" для монтирования внутри контейнера заданных внешних директорий. Кроме того, nspawn теперь монтирует в контейнере собственную ФС devpts, что позволяет избежать утечки pty-устройств из основной системы;
  • В systemd обеспечено чтение EFI-переменных с информацией о производительности процесса загрузки, предоставляемой прошивками. После загрузки указанную информацию можно проанализировать с использованием утилиты "systemd-analyze". Новая возможность пока работает только при использовании загрузчика Gummiboot, но в будущем может быть реализована и для других загрузчиков;
  • Добавлен новый генератор, который автоматически монтирует ESP-разделы (EFI System Partition) в каталог /boot;
  • В состав включена новая утилита bootctl с реализацией интерфейса для выполнения некоторых операций с загрузчиком. В настоящее время bootctl имеет статус экспериментальной разработки для начального ознакомления. В дальнейшем не исключено создание демона, подобного timedated, localed и hostnamed, который можно использовать в GUI-конфигураторах для перечисления доступных опций загрузки и инициирования служебного режима загрузки прошивки.
  • Новая утилита kernel-install, предназначенная для установки образов ядра в соответствии со спецификацией Boot Loader;
  • Новая утилита systemd-activate, которая может быть использована для тестирования и отладки активации демонов через сокет;
  • Добавлена подборка unit-файлов для упрощения адаптации использования systemd в образах initrd. Данные unit-ы добавляют в systemd минимально необходимую логику из различных реализаций initrd;
  • Прекращена поддержка устаревших или специфичных для отдельных дистрибутивов имён LSB-свойств, определяемых при разборе init-скриптов: $x-display-manager, $mail-transfer-agent, $mail-transport-agent, $mail-transfer-agent, $smtp, $null. Так как systemd большее не поддерживает скрипты ранней стадии инициализации, то также игнорируются свойства $syslog и $local_fs;
  • Добавлена возможность сброса отдельных списочных параметров конфигурации unit-файлов, через присвоение им пустого значения. Например, ранее присвоение Environment=FOO=BAR приводило при каждом использовании к добавлению новых переменных в список переменных окружения. Указав "Environment=" теперь можно предварительно очистить список переменных окружения. Указанная возможность полезна в сочетании с представленной выше системой переопределения конфигурации ".d/*.conf", так как может использоваться для переопределения заданных в unit-файлах списков переменных;
  • В systemd-journal-gatewayd добавлена поддержка SSL. Systemd-journal-gatewayd теперь выполняется под отдельным непривилегированным пользователем systemd-journal-gateway:systemd-journal-gateway;
  • В файлах окружения, таких как /etc/locale.conf, теперь поддерживается слияние строк, перенесённых с использованием обратного слэша ("\\");
  • В утилиту systemctl добавлена новая команда "list-dependencies" для рекурсивного отображения зависимостей unit-файла;
  • Добавлена команда "systemctl unlock-sessions", позволяющая разом разблокировать экраны всех пользовательских сеансов, примерно так же как выполняется общая блокировка через "systemctl lock-sessions";
  • Существенно расширен набор для тестирования unit-файлов;
  • В команду udevadm hwdb добавлена опция "--root=", позволяющая указать корневую директорию, относительно которой выполняются операции;
  • Компонент systemd-bootchart перелицензирован и теперь поставляется под лицензией LGPLv2.1+ как и весь пакет;
  • Поддержка Policykit теперь может быть включена/отключена на этапе сборки;
  • Утилита systemd-analyze переписана на языке Си и вобрала в себя функциональность команды "systemctl dot";
  • При запуске "systemctl status" без параметров теперь отображается общий статус всех активных и сбойных unit-ов;
  • Python API расширен модулем для чтения файлов с журналом;
  • В journalctl добавлены опции: "--reverse" (-r) для показа содержимого журнала с обратной сортировкой (новые записи сверху); "--pager-end" (-e) для перехода в конец журнала без листания вывода в less; "--user-unit=" - аналог "--unit=", отображающий только пользовательские unit-ы;
  • Файлы с журналами теперь размещаются под отдельной группой "systemd-journal", созданной исключительно для организации доступа к журналам. Ранее владельцем файлов с журналами была группа "adm", которая используется не только для доступа к логам, теперь доступ "adm" и wheel" к файлам /var/log/journal назначается через ACL, а непосредственным владельцев является группа "systemd-journal";
  • В systemd-detect-virt добавлена поддержка определения гостевых систем Xen в режиме паравиртуализации;
  • Файловая система pstore теперь монтируется по умолчанию, если она доступна в системе;
  • В дополнение к правилам SELinux и IMA, на ранней стадии загрузки теперь осуществляется и загрузка правил SMACK.

Источники

править


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

Комментарии

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