Выпуск systemd 218 со встроенной поддержкой PPPoE

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

В состав включена библиотека с реализацией протокола PPPoE. В дальнейшем данная библиотека будет использована в networkd для обеспечения соединений PPPoE без привлечения внешнего демона pppd; В базу оборудования udev hwdb добавлена информация о параметрах разрешения (DPI) различных манипуляторов «мышь», что позволяет обеспечить более точное позиционирование указателя в привязке к реальной чувствительности оптического сенсора мыши (например, можно обеспечить постоянную скорость движения указателя различных моделей мышей. Необходимость создания базы привязки моделей мышей к DPI обусловлена отсутствием надёжного способа получения параметров DPI от мыши, при том, что DPI мышей колеблется от 400 до 1200 (если не принимать во внимание связь DPI с физическим перемещением мыши, курсор для мыши с небольшим DPI будет перемещаться еле-еле, а с высоким — наоборот скакать по экрану). Поддержка новой базы уже добавлена в libinput 0.7; Все программы из состава systemd, читающие обособленные файлы конфигурации в директории /etc/, теперь воспринимают соответствующие конфигурационные директории .conf.d в /etc/, /run/, /usr/local/lib/, /usr/lib/ и /lib/ (при сборке с --enable-split-usr). Например, конфигурационные директории теперь доступны для файлов system.conf user.conf, logind.conf, journald.conf, sleep.conf, bootchart.conf, coredump.conf, resolved.conf, timesyncd.conf, journal-remote.conf и journal-upload.conf; В утилиту systemctl добавлена команда «edit», при выполнении которой для unit-файла запускается определённый через переменную окружения $EDITOR текстовый редактор, в котором открывается для редактирования сводный набор конфигурации, включающий полное содержимое unit-файла, в том числе типовые блоки из дополнительных директорий (.d/); В утилиту journalctl добавлены новые команды »--vacuum-size=» и »--vacuum-time=», позволяющие удалять старые файлы журнала при достижении определённого размера или при устаревании на заданное время; В journald обеспечено получение сообщений аудита напрямую из ядра Linux и сохранение их как обычных записей в логе. Поля сообщений аудита разделяются и индексируются, что позволяет обойтись без auditd и использовать утилиту journalctl в качестве замены ausearch (поддерживается только минимальный набор функций аудита, при необходимости задействования всех режимов аудита, таких как reboot-on-log-overflow, следует дополнительно использовать auditd); При сборке с опцией »--enable-xkbcommon» в systemd-localed теперь выполняется проверка клавиатурных раскладок (x11 keymap) через компиляцию заданной раскладки, что позволяет обойтись без установки libxkbcommon; Добавлен новый сервис systemd-machine-id-commit.service, который позволяет задействовать временный идентификатор машины на системах с доступной только для чтения во время загрузки директорией /etc и не инициализированным /etc/machine-id; В .netdev файлы networkd добавлена поддержка большой порции настроек для устройств VXLAN, которые теперь можно конфигурировать через файлы .network по аналогии с параметрами сетевых мостов. Добавлена возможность настройки маршрутизации от источника (source routing). В файлы .link добавлена поддержка опции «OriginalName=» для сопоставления оригинального имени сетевого интерфейса с именем, выдаваемым ядром. В файлах .network обеспечена возможность указания опций «MTU=» и «MACAddress=» для переопределения MTU и MAC-адреса при соединении через определённый сетевой интерфейс; В hostnamed добавлен новый тип «embedded»; В утилиту busctl добавлена поддержка выражений «capture» (запись трассировки перехваченных пакетов в STDOUT в формате совместимом с libcap), «tree» (показ дерева объектов для заданного сервиса), «introspect» (показ всех интерфейсов и состава объектов), «call», «set-property» и «get-property» (вызов метода, установка и получение настроек объектов); В nspawn обеспечено использование постоянных MAC-адресов при создании сетевых устройств macvlan; В юниты добавлена опция «SmackProcessLabel=», позволяющая управлять обработкой меток для системы мандатного контроля доступа SMACK; Обеспечена возможность создания на лету юнитов-таймеров через bus API, а также возможность создания сразу нескольких юнитов через один вызов bus API; Для coredump в журнале теперь создаются дополнительные поля с метаданным, включающими такую информацию, как состав cgroup, переменные окружения, карты памяти, рабочую директорию, proc/$PID/status, список открытых файловых дескрипторов; Для LUKS добавлена поддержка выбора файлов с ключами на основе UUID.

© OpenNet