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

Леннарт Поттеринг (Lennart Poettering) представил релиз системного менеджера systemd 197, примечательный использованием нового механизма предсказуемого именования сетевых интерфейсов, интеграцией функциональности пакета bootchart, оптимизациями для увеличения скорости загрузки на разделах с Btrfs, уходом от использования особенностей, специфичных для конкретных дистрибутивов.

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

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

  • Systemd теперь позиционируется как полностью обособленная и независящая от Linux-дистрибутиов система. Из состава Systemd исключён код для определения и задействования возможностей и файлов конфигурации, специфичных для отдельных дистрибутивов. Вместо использования собственных файлов конфигурации разработчикам дистрибутивов предлагается использовать предлагаемую Systemd стандартную модель управления конфигурацией, на которую уже перешло большинство использующих Systemd дистрибутивов. Тем не менее, многие из специфичных возможностей остаются доступны через активацию соответствующих настроек через скрипт configure на этапе сборки.
  • В udev добавлена поддержка различных схем предсказуемого выбора имён для сетевых интерфейсов, при которых сетевому адаптеру назначается фиксированное имя, которое не измениться при добавлении/удалении других адаптеров. По умолчанию имена устройств будут формироваться в зависимости от возможностей прошивки. Если прошивка/BIOS предоставляет интексированные номера интерфейсов для встроенных сетевых интерфейсов будет использовано имя "enoN", а для PCI-плат - "ensN". Иначе будет выбрано именование enpNsM, учитывающее физическое соединение устройства, а если параметры подобного размещения будут недоступны - будет использована классическая схема ethX. Кроме того, для использования доступен вариант использования в имени интерфейса данных из MAC-адреса (например, enx78e7d1ea46da);
  • В состав включена альтернативная минималистичная реализация утилиты bootchart, созданная Auke Kok из компании Intel. Bootchart позволяет измерить и наглядно оценить время загрузки различных компонентов системы;
  • Логика упреждающей загрузки компонентов адаптирована для определения и использования особенностей файловой системы Btrfs, в том числе с использованием оптимизаций как для SSD-накопителей, так и для жестких дисков;
  • Поддержка вызова системных событий в привязке к календарному времени, а не только к повторяющимся интервалам времени. В частности, можно инициировать запуск unit-а в заданное время, указав в параметрах, например, "Thu,Fri 2013-*-1,5 11:12:13" для запуска в 11 часов 12 минут 13 секунд кажный первый и пятый день месяца в 2013 году, при условии, что эти дни приходятся на четверг или пятницу. С поддержкой данной возможности Systemd уже позволяет взять на себя большинство функций системы cron и избавиться от необходимости запуска дополнительного демона crond;
  • Интеграция в состав дерева исходных текстов Systemd программы nss-myhostname, которая гарантирует, что имя локального хоста всегда будет доступно для резолвинга через NSS;
  • В udev добавлена поддержка загрузки параметров устройств из базы IAB в дополнение к базе OUI. В базу также добавлены идентификаторы производителей Bluetooth устройств;
  • Процесс nspawn теперь запускается без привязки к управляющему терминалу, что позволяет запускать его как отдельный сервис и использовать для создания простых контейнерных серверных систем. Для подобных контейнеров также теперь доступна активация через сокет, что позволяет автоматически запускать целиком образы ОС при поступлении первого обращения к привязанным к ним службам SSH или HTTP;
  • В logind добавлена возможность автоматического выключения или перехода в спящий/ждущий режим при определённом времени неактивности системы;
  • Через /etc/machine-info и hostnamed теперь можно определить тип текущего устройства (ПК, ноутбук, планшет, карманный ПК);
  • Для Unit-файлов добавлена новая условная опция "ConditionACPower=" для выбора настроек в зависимости от того, подключено ли устройства к стационарной сети питания или работает автономно. Кроме того, в опции "EnvironmentFile=" теперь допустимо использование маски для определения группы имён файлов.

© OpenNet