Леннарт Поттеринг, главный разработчик systemd, объявил на своём канале Mastodon о своей новой инициативе: команде run0, призванной заменить sudo в деле повышения привилегий пользователя. Планируется, что run0 войдёт в состав systemd 256.
Компания Microsoft объявила о готовности запуска systemd в дистрибутивах для Windows с WSL. Поддержка systemd позволила упростить требования к дистрибутивам и приблизить предоставляемую в WSL среду к обычному оборудованию.
Раньше в WSL использовался предоставляемый Microsoft обработчик инициализации, запускаемый под PID 1 и обеспечивающий настройку инфраструктуры для организации взаимодействия между Linux и Windows. Теперь вместо этого обработчика может использоваться штатный systemd.
Примечание: версия WSL должна быть 0.67.6 или новее.
Леннарт Поттеринг (Lennart Poettering), создавший такие проекты, как Avahi (реализация протокола ZeroConf), звуковой сервер PulseAudio и системный менеджер systemd, уволился из компании Red Hat, в которой работал с 2008 года и руководил разработкой systemd. В качестве нового места работы называется компания Microsoft, деятельность Леннарта в которой также будет связана с разработкой systemd.
Компания Microsoft использует systemd в своём дистрибутиве CBL-Mariner, который развивается в качестве универсальной базовой платформы для Linux-окружений, используемых в облачной инфраструктуре, edge-системах и различных сервисах Microsoft.
Леннарт Поттеринг с радостью представляет вам свой новый проект под названием systemd-homed - новый компонент systemd, который призван упростить жизнь пользователей, дав им возможность легко переносить домашние каталоги. Главная фишка проекта - создание самодостаточного окружения для пользовательских данных и отделение домашних каталогов от системных настроек, что позволяет в конечном итоге получить монтируемый файл-образ с зашифрованными данными окружения, который можно быстро перенести и развернуть на любой системе.
Леннарт Поттеринг – одна из легенд Linux-сообщества. Начиная с 90-х годов он работает над ядром операционной системы Linux. Леннарт запустил такие проекты, как PulseAudio, Avahi, kdbus, systemd и стал их главной движущей силой. В настоящее время работает в компании Red Hat в Германии. В прошлом году Леннарт приезжал на конференцию Linux Piter 2017 с докладом и сегодня, в преддверии Linux Piter 2018, мы публикуем интервью с этим именитым open source-разработчиком, в котором он рассказывает, зачем понадобился systemd, как менялась и меняется архитектура Linux, как лично он реагирует на многочисленную критику в свой адрес, зачем нужно посещать конференции, и что лично ему дают такие мероприятия, как, например, Linux Piter.
добавлена поддержка переменной окружения SYSTEMD_OFFLINE, которая может перевести systemd в автономный режим (без взаимодействия с сервисным менеджером);
можно динамически создавать временные юниты .path и .socket по аналогии с типом mount;
в systemd-mount появился параметр --owner;
новый условный оператор ConditionControlGroupController, проверяющий доступность контроллера;
в юниты и файлы .link, .netdev и .network добавлена поддержка условного оператора ConditionKernelVersion;
systemd-networkd получил поддержку Prefix Delegation для DHCP6;
расширены возможности API sd-bus и sd-event;
долгожданная поддержка VPN WireGuard;
в systemd-notify добавлен параметр --uid;
новая команда systemd-analyze service-watchdogs для вывода состояния watchdog'ов;
инновационные параметры для systemd-analyze: log-level и log-target на смену устаревшим [get,set]-log-level и [get,set]-log-target;
в sysusers.d добавлены строки типа u для одновременного указания UID и GID.
P. S. В списке контрибьюторов замечен один из четырехзвездочных ЛОРовцев.
Lennart Poettering объявил о выпуске systemd 236 в качестве окончательной версии 2017 года.
systemd основан на принципах зависимостей, производит отслеживание процессов запущенных сервисов при помощи механизма cgroups в ядре Linux, поддерживает механизмы сокет и dbus активации сервисов и предоставляет удобный декларативный синтаксис для описания демонов и других сущностей.
В этот релиз вошли, в основном, различные исправления и улучшения внутренней логики и структуры, а также расширения уже существующей функциональности.
Основные изменения:
Поддержка формата LUKS2 на диске для зашифрованных разделов список bootctl теперь может перечислять все доступные параметры меню загрузки.
Улучшенная опция cgroup.
Различные усовершенствования сети systemd-networkd.
Поддержка установки начального сопоставления клавиатуры systemd-firstboot.
Несколько новых аргументов командной строки systemd-resol.
Введен модуль modprobe.d (для модуля ядра bonding.ko).
Неизвестные «%» в файлах конфигурации теперь отклонены.
systemd-resolved теперь поддерживает новую динамику
/run/systemd/resolve/stub-resolv.conf.
В /etc/fstab два новых варианта монтирования.
bootctl получил новую команду «list» для перечисления всех доступных опций загрузки.
systemctl получил новый переключатель -dry-run, который показывает, что будет сделано.
ConditionSecurity теперь может обнаружить модуль безопасности TOMOYO.
Ряд незначительных улучшений во всем ядре systemd.
На церемонии, ежегодно проходящей в рамках конференции Black Hat USA в Лас–Вегасе, объявлены победители премии Pwnie Awards 2017, присуждаемой за выдающиеся достижения либо провалы в области компьютерной безопасности.
В категории «Самая дурацкая реакция разработчика» (Lamest Vendor Response) премии удостоен Леннарт Поттеринг за реакцию на ошибки в systemd и отказ документировать уязвимости, получившие индекс CVE: 5998 (новость), 6225, 6214, 5144, 6237 (обсуждение в Talks).
Следом за casync, Леннарт Поттеринг представил ещё один свой проект — mkosi (Make Operating System Image).
mkosi предназначен для генерации загрузочных образов операционных систем, представляющий собой обёртку над утилитами dnf --installroot, debootstrap, pacstrap и zypper.
Леннарт Поттеринг добавил в утилиту machinectl возможность управлять входом в систему локальным пользователям, что является главной функцией классической Unix-утилиты su уже более 30 лет. Необходимость такого шага Леннарт объяснил тем, что концепт работы su остается очень неясным, и при открытии новой сессии получается смесь старых и новых параметров окружения. Утилита machinectl призвана улучшить ситуацию, изменяя только минимально нужное количество системных свойств в новой пользовательской сессии.
Новая функциональность уже доступна в systemd 225.
Как сообщил в официальном блоге SEO Microsoft, Сатья Наделла, в релизной версии Windows 10 широчайший стек технологий — от WIN.INI до системных сервисов и менеджера рабочего стола (explorer.exe) — будет заменён хорошо зарекомендовавшей себя свободной системой инициализации systemd. Среди причин называются: архитектурные недостатки классических слоёв автозапуска (в частности, возможность замаскировать процесс вредоносной программы под svchost.exe), несовместимость существующего вредоносного ПО с новой системой инициализации, а также быстродействие systemd. По словам Сатья, за счёт объединения всех сервисов вплоть до графической оболочки в один процесс загрузка стала буквально молниеносной. Старые технологии автозапуска некоторое время будут эмулироваться для обратной совместимости со сторонними приложениями. Также новая система инициализации будет прочно интегрирована с технологией UEFI SecureBoot; в частности, для запуска systemd будет требоваться уникальная цифровая подпись, выданная Microsoft, что должно ещё больше увеличить безопасность и защищённость системы от вредоносного ПО. Microsoft будет активно сотрудничать с RedHat и отсылать патчи для systemd в основную ветку.
Новая система инициализации уже доступна для тестирования в свежих предрелизных сборках:
x86 (SHA1: F3DD6E161796F82C0AC16BF0D15D7E91F9D38F0E)
Третья часть посвящена journal - компоненту systemd, который обеспечивает работу с сообщениями ядра, системных и пользовательских служб в Linux. Рассмотрены возможности конфигурации демона journald, возможность совместной работы с syslog, бинарный формат данных journal и варианты импорта данных в другие форматы, возможности встроеной фильтрации сообщений и многое другое. Доступны также первая и вторая части серии. Большое спасибо за работу like-all и intelfx. Пожелания и уточнения приветствуются.
На прошедшей конференции FOSDEM Леннарт Поттеринг огласил некоторые перспективы развития systemd:
Интеграция в systemd загрузчика gummiboot, поддерживающего технологию UEFI Secure Boot.
machined — менеджер регистрации виртуальных машин, спроектированный под впечатлением от Solaris Zones.
В подсистеме nspawn и смежных с ней ожидается больше возможностей для управления контейнерами, например, journald сможет собирать логи не только с хоста, но и с контейнеров.
Уже в следующей версии ожидается улучшенная поддержка Btrfs (подразделы и снапшоты Btrfs планируется использовать для изоляции отдельных приложений).
Поддержка HiDPI и Юникода в consoled.
Сервис-ориентированный фаерволл: можно будет задавать правила в привязке не к номерам портов, а к именам процессов.
Отпадёт нужда указывать путь к юниту для systemctl-cat; systemctl-edit позволит редактировать юниты и после сохранения изменений автоматически перезапускать соответствующие сервисы.
nss-getmyhostname — функция для получения имени хоста на stateless-системах.
Утилита ping gateway позволит автоматически определить все доступные сетевые интерфейсы и проверить их статус командой ping.
Развитие networkd и собственной библиотеки для работы с DHCP (совместимой с dhcpv4 и dhcpv6).
Комбинирование nspawn и networkd позволит легко конфигурировать сеть для контейнеров.
Создание средств для широкого системного аудита, интегрированных в journald. Например, станет возможным логировать все системные вызовы к файлу /etc/passwd.
Движение в сторону stateless-систем, у которых только /usr доступен на чтение и запись, а /etc и /var будут автоматически заполняться systemd.
journald-remoting — удалённая работа логгера через HTTP. Поддержка в journald моделей pull и push: при pull выполняется запрос HTTP GET для получения потока JSON, а при push данные передаются в другой экземпляр journald при помощи HTTP POST.
Возможность определения для сервисов минимальных пространств имён и sandbox-изоляции: доступ к некоторым разделам и каталогам только на чтение, сокрытие устройств в /dev, приватный /tmp для каждого сервиса, и др.
timesyncd в качестве замены ntpd.
Автоматическое определение разделов GPT, не нуждающееся в указании их в fstab.
Поддержка перезапуска демонов без потери их состояния (посредством сохранения оного на диск).
Доступен перевод «интервью» (точнее, треда на Reddit) с Леннартом Поттерингом, в котором он отвечает на различные вопросы посетителей сайта о разработке systemd, kdbus, PulseAudio и свободного ПО в целом, о дальнейших перспективах systemd, Linux и OSX, о реакции разработчиков на критику и о многом другом. Сохранён исходный стиль изложения.
12 декабря был представлен очередной релиз системного менеджера systemd, совмещающего в себе функции системы инициализации, ведения журнала и управления сессиями пользователей. systemd основан на модели зависимостей (в противовес событийной модели), производит отслеживание процессов запущенных сервисов при помощи механизма cgroups ядра Linux, поддерживает механизмы сокет- и dbus-активации сервисов и предоставляет удобный декларативный синтаксис для описания демонов и других сущностей. Это позволяет производить агрессивную параллелизацию при запуске и остановке сервисов.
В рамках проекта также разрабатывается ряд легковесных приложений и демонов, выполняющих второстепенные, но распространённые задачи по управлению системой — от настройки подсистемы VT (systemd-vconsole-setup) до управления сетью (systemd-networkd) и профилирования загрузки (systemd-bootchart).
Встречайте новую версию комплекта системных утилит под номером 217!
Изменения:
journalctl получил новую опцию -t/--identifier= для фильтрации по идентификаторам (тегам) syslog, а также опцию --utc для вывода временных меток UTC.
Возможность уведомления менеджера сервисами перед тем, как начать перезагрузку (отсылкой RELOADING=1) или выключение (отсылкой STOPPING=1). Это позволяет менеджеру отслеживать внутреннее состояние демонов и предотвращать ситуации, когда демон ещё работает, но уже недоступен через D-Bus.
Сервисы с Type=oneshot не нуждаются в указании команд ExecStart.
Пользовательские сервисы также могут загружаться из $XDG_RUNTIME_DIR/systemd/user.
systemd-logind может быть сконфигурирован для обработки событий от крышки ноутбука, даже если ноутбук используется в качестве безмониторной рабочей станции или к нему подключено несколько мониторов.
Сервис в initramfs для выхода из спящего режима, использующий командную строку ядра.
Пользовательский демон консоли systemd-consoled. Пока что в ознакомительном виде.
Метрики маршрутов для DHCP в модуле systemd-networkd.
Сокет-активирующиеся сервисы могут получать контексты SELinux от сетевого стека (опция SELinuxContextFromNet=).
Удалена поддержка загрузки прошивок из пользовательского пространства.
Минимально поддерживаемая версия ядра увеличена до 3.7.
Таймаут для обработчиков udev увеличен с одной до трёх минут, но предупреждение выводится уже через одну минуту для диагностики долгозагружающихся модулей.
Правила udev позволяют удалять метки оборудования посредством TAG-="foobar".
Леннарт Поттеринг опубликовал эссе, в котором выразил сожаление, что сообщество разработчиков СПО далеко от идеала и вместо взаимоуважительного сотрудничества созидающих и двигающихся в едином устремлении людей, часто превращается в поле для проявления агрессии, травли и разжигания ненависти. Вместо созидания некоторые участники сообщества растрачивают свои силы на разрушение вещей, которые им кажутся неприемлемыми, не пытаясь разобраться и услышать мотивы стороны, предлагающей другой подход к решению проблемы.
Проект systemd и сам Поттеринг являются одним из самых ярких примеров такой травли, при которой недоброжелатели не жалеют своего времени для дискредитации и поливания грязью, создают петиции и акции протестов, сочиняют гнусные песни, распространяют личные угрозы расправы и даже собирают деньги на вредительство.
По мнению Леннарта, отчасти рост агрессии в сообществе обусловлен несдержанным поведением признанных авторитетов, таких как Линус Торвальдс, который допускает оскорбительные высказывания в адрес провинившихся разработчиков. Подобные манеры поведения принимаются другими участниками как норма и некоторые разработчики начинают обращаться с другими в том же стиле, что создаёт недружественную атмосферу и мешает вхождению в сообщество новичков.
systemd — это менеджер системы и сессий для Linux. systemd совместим со скриптами инициализации SysV и LSB. Он предоставляет возможности агрессивного распараллеливания, использует для запуска сервисов сокеты и D-Bus активацию, позволяет запускать демоны по требованию, реализует транзакционную зависимостную логику управления сервисами, отслеживает процессы с использованием Linux cgroups, поддерживает создание снимков и восстановление, а также заведует монтированием и точками автомонтирования.
Это мажорный выпуск. Помимо прочих изменений, systemd-resolved теперь гармонично дополняет распознаватель заглушек кэширования DNS и LLMNR.
4 июля был представлен очередной релиз системного менеджера systemd, совмещающего в себе функции системы инициализации, ведения журнала и управления сессиями пользователей. systemd основан на модели зависимостей (в противовес событийной модели), производит отслеживание процессов запущенных сервисов при помощи механизма cgroups ядра Linux, поддерживает механизмы сокет- и dbus-активации сервисов и предоставляет удобный декларативный синтаксис для описания демонов и других сущностей. Это позволяет производить агрессивную параллелизацию при запуске и остановке сервисов.
В рамках проекта также разрабатывается ряд легковесных приложений и демонов, выполняющих второстепенные, но распространённые задачи по управлению системой — от настройки подсистемы VT (systemd-vconsole-setup) до управления сетью (systemd-networkd) и профилирования загрузки (systemd-bootchart).
Большая часть изменений, вошедших в этот релиз, была направлена на поддержку т. н. stateless-систем, в которых все данные находятся на разделе /usr (монтируемом в режиме только для чтения), а корень (включая /etc) размещается на tmpfs и автоматически пересоздаётся при каждой загрузке системы. Этот функционал предполагается использовать в легковесных контейнерах, а также как средство «полного сброса» без переустановки ОС.
11 июня был представлен очередной релиз системного менеджера systemd, совмещающего в себе функции системы инициализации, обратно совместимой с SysV и LSB, ведения журнала и управления сессиями пользователей. systemd основан на модели зависимостей (в противовес событийной модели), производит отслеживание процессов запущенных сервисов при помощи механизма cgroups ядра Linux, поддерживает механизмы сокет- и dbus-активации и предоставляет удобный декларативный синтаксис unit-файлов для описания демонов и других сущностей, что позволяет производить агрессивную параллелизацию при запуске и остановке сервисов.
В рамках проекта также разрабатывается ряд легковесных приложений и демонов, выполняющих второстепенные, но распространённые задачи по управлению системой — от настройки подсистемы VT (systemd-vconsole-setup) до управления сетью (systemd-networkd) и профилирования загрузки (systemd-bootchart).