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

Наиболее существенные изменения:

  • В состав включён новый фоновый процесс "systemd-timesyncd", предназначенный для организации синхронизации системного времени по сети. В отличие от других пакетов синхронизации времени, systemd-timesyncd включает реализацию клиента SNTP и рассчитан только на запрос времени от NTP-сервера и синхронизацию локальных системных часов на основе полученных данных. Подобный подход позволил существенно упростить код systemd-timesyncd, так как не пришлось добавлять полноценную серверную поддержку NTP, ограничившись только минимальной клиентской реализацией NTP. Процесс выполняется с минимальными привилегиями (запускается под отдельным пользователем и группой "systemd-timesync") и активируется только при наличии сетевого соединения. В процессе синхронизации данные о расхождении времени системных часов сохраняются на диск, что позволяет откорректировать их работу на ранней стадии загрузки, до того как появится возможность отправить запрос к NTP-серверу по сети.
  • Добавлен фоновый процесс systemd-resolved, который работает совместно с systemd-networkd и обеспечивает поддержание настроек в файле resolv.conf на основании данных DHCP и статической конфигурации DNS для сетевых интерфейсов. В будущем планируется добавить в systemd-resolved функции простого локального кэша DNS и mDNS с поддержкой DNSSEC;
  • Для команд "systemctl list-timers" и "systemctl list-sockets" реализована опция "--recursive", позволяющая отобразить юниты выбранного типа в том числе для всех локальных контейнеров;
  • В сервисных юнитах обеспечена поддержка новых директив "RebootArgument=" и "FailureAction=". Через "RebootArgument=" ядру можно передать аргументы, используемые после перезагрузки, инициированной с "StartLimitAction=". "FailureAction=" позволяет указать операцию, которая будет вызвана при сбое сервиса;
  • Обновлён мини-сервис hostnamed, используемый для изменения имени хоста. Сервис теперь может обслуживать имена ядра, выпуска и версии шины. Файл /etc/hostname теперь имеет более высокий приоритет по сравнению с данными об имени хоста, полученными через DHCP;
  • В bootchart, инструмент мониторинга скорости загрузки, добавлено отображение на графиках информации о cgroup;
  • Для сервисов добавлена опция "CPUQuota=", при помощи которой могут быть выставлены атрибуты cgroup для установки CPU-квоты для планировщика CFS. В итоге, сервис не сможет потребить больше процессорного времени, чем определено лимитом в процентном соотношении, даже если система простаивает;
  • В systemd-networkd добавлена поддержка туннелей IPIP и SIT;
  • Добавлена новая опция ядра "fsck.repair=", позволяющая при загрузке управлять выполнением fsck для требующих проверки ФС.
  • Парсер ini-файлов теперь игнорирует секции, начинающиеся с "X-", что позволяет создавать в юнит-файлах специфичные для внешних приложений расширенные секции;
  • Включен по умолчанию интегрируемый с networkd инструмент systemd-networkd-wait-online, вносящий задержку для network-online.target до момента настройки сетевого соединения;
  • Добавлены новые опции "StartupCPUShares=" и "StartupBlockIOWeight=", работающие по аналогии с "CPUShares=" и "BlockIOWeight=", но применяемые только на стадии запуска системы.


Источник: http://www.opennet.ru/opennews/art.shtml?num=39879