Леннарт Поттеринг представил (https://lists.freedesktop.org/archives/systemd-devel/2018-Ja...) релиз системного менеджера systemd 236 (http://www.freedesktop.org/software/systemd/). Из новшеств можно отметить поддержку VPN WireGuard, режим "watch-bind" в sd-bus,
возможность создания временных юнитов .path и .socket, в journalctl добавлена опция "--grep".
Основные изменения:
- В systemd-networkd добавлена поддержка VPN-туннелей WireGuard (https://www.wireguard.com/), в том числе представлены встроенные возможности по настройке сетевого интерфейса "wireguard" и инструментарий для управления ключами шифрования. WireGuard сочетает (https://www.opennet.ru/opennews/art.shtml?num=44695) применение проверенных современных методов шифрования с предоставлением минималистичной реализации, лишённой усложнений, наблюдаемых в таких системах, как xfrm и OpenVPN. Для использования туннелей WireGuard требуется загрузка стороннего модуля ядра Linux, который представлен в репозиториях популярных дистрибутивов;
- Раскладка кнопок увеличения и уменьшения масштаба, присутствующих на некоторых клавиатурах, теперь сопоставлена в hwdb с кодами вверх и вниз, что позволяет использовать данные кнопки для прокрутки (раньше было настроено сопоставление с кодами zoomin и zoomout, которые не воспринимаются в большинстве пользовательских окружений);
- В journalctl добавлена опция "--grep" для вывода только записей, соответствующих заданной маске. По умолчанию разделяется верхний и нижний регистр символов, для отключения разделения следует указать "--case-sensitive=no";
- Изменено поведение строк типа "f" в systemd-tmpfiles, содержимое которых теперь записывается в файл только, если он несуществует (раньше, содержимое добавлялось к файлу при каждом запуске systemd-tmpfiles, что не соответствовало описанию флага "f" в документации);
- Добавлена новая переменная окружения $SYSTEMD_OFFLINE, при установке которой
systemctl начинает работать в режиме offline без взаимодействия с сервисным менеджером (ранее данный режим включался при выявлении запуска в chroot);
- Обеспечена возможность динамического создания временных ("transient") юнитов .path и .socket (ранее поддерживались только временные юниты с типом service, mount, automount и timer). Утилита systemd-run адаптирована для применения новой функциональности для привязки на лету произвольных команд к пути или активации по сокету;
- В systemd-mount добавлена опция "--owner=" для указания имени пользователя, которое будет преобразовано в uid/gid для указания через флаги uid= и
и gid= в команде mount;
- Для unit-ов представлен новый условные оператор ConditionControlGroupController, который проверяет доступность указанного контроллера cgroup;
- В unit-ы, и файлы .link, .netdev и .network добавлена поддержка условного оператора ConditionKernelVersion для проверки наличия определённых версий ядра Linux;
- В systemd-networkd в секцию "[IPVLAN]" файлов .netdev добавлена поддержка настройки флагов устройства при помощи опции "Flags=", в секцию "[Tunnel]" файлов .netdev добавлена опция AllowLocalRemote, в секцию "[Route]" файлов .network опции InitialCongestionWindow, InitialAdvertisedReceiveWindow и QuickAck=, а в секцию "[DHCP]" - опция "RapidCommit";
- В реализацию DHCPv6 добавлена возможность делегирования префиксов;
- Расширены возможности API sd-bus (универсальная прослойка для организации обмена сообщениями между процессами (IPC)): Добавлен режим "watch-bind" для организации обработки соединений сразу после создания сокета AF_UNIX (режти необходим для создания сервисов, работающих на раннем этапе загрузки). Поддержка данного режима обеспечена в systemd-networkd и systemd-resolved, для управления добавлена опция "--watch-bind". Также добавлена возможность генерации локального сигнала "Connected" сразу после насройки соединения с D-Bus. В API sd-bus добавлена несколько новых вызовов: sd_bus_request_name_async() и
sd_bus_release_name_async() для регистрации имени шины в асинхронном режиме, sd_bus_match_signal() и sd_bus_match_signal_async() для сопоставления полей в сообщениях D-Bus, sd_bus_set_sender() и sd_bus_message_set_sender() для настройки имени отправителя сообщений;
- В API sd-event, основанном на вызове epoll и позволяющем организовать цикл обработки событий (event loop), добавлен псевдообработчик SD_EVENT_DEFAULT., который может прикрепляться к любым объектам "sd_event*". Также добавлены функции sd_event_source_{get|set}_io_fd_own();
- Добавлен флаговый файл /etc/systemd/dont-synthesize-nobody, при наличии которого не будет создаваться пользователь с UID 65534 ("nobody");
- В systemd-notify добавлена опция "--uid" для выбора пользователя/UID для под которым сообщений с уведомлениями будут отправляться сервисному менеджеру;
- Добавлена команда "systemd-analyze service-watchdogs" для вывода текущего состояния подсистемы автоматического восстановления работы сервисов (watchdog) и их выборочного включения или отключения;- В systemd-analyz добавлены универсальные опции "log-level" и "log-target", которые пришли на смену устаревшим опциям get-log-level/set-log-level и
get-log-target/set-log-target, поддержка которых сохранена для обеспечения совместимости;
- В sysusers.d добавлена поддержка указания в строках с типом "u" одновременно UID и GID, разделённых знаком ":", что позволяет создавать пользователей UID и GID у которых не совпадают.
URL: https://lists.freedesktop.org/archives/systemd-devel/2018-Ja...
Новость: http://www.opennet.ru/opennews/art.shtml?num=47982