LINUX.ORG.RU

systemd 261 и liberated-systemd 261

 , , ,


0

4

После трёх месяцев разработки доступен релиз системного менеджера systemd 261. Ключевые изменения: подготовка к поддержке API для верификации возраста, поддержка подсистем Kexec Handover и Live Update Orchestration для перезапуска без потери состояния, подсистема IMDS (Instance Metadata Service), функциональность для защиты загрузки на системах без физического TPM (Trusted Platform Module), компонент systemd-sysinstall с реализацией инсталлятора.

Среди изменений в новом выпуске:

  • Добавлен новый компонент systemd-sysinstall с реализацией простого инсталлятора операционной системы, которым можно управлять из командной строки или через интерактивный текстовый интерфейс. Функциональность systemd-sysinstall сформирована из уже существующих возможностей systemd: для настройки дисковых разделов задействован systemd-repart, для установки ядра и генерации загрузочного меню — команда «bootctl link», для установки загрузчика systemd-boot — команда «bootctl install», для начального конфигурирования устанавливаемой системы (например, выбор локали и раскладки клавиатуры) — systemd-creds.
  • В рамках подготовки к реализации требований законов об интеграции в ОС API для проверки возраста в БД userdb добавлено поле birthDate с датой рождения пользователя. Добавленное поле сможет использоваться в развиваемом для дистрибутивов портале xdg-desktop-portal и сервисе AccountsService для выдачи приложениям сведений о возрастной категории пользователя через D-Bus интерфейс org.freedesktop.AgeVerification1 или org.freedesktop.ParentalControls. Для установки возраста в утилиту homectl добавлена опция --birth-date.
  • В обработчик PID1 добавлена поддержка подсистем Linux-ядра LUO (Live Update Orchestration) и KHO (Kexec Handover), позволяющих полноценно перезагрузить и обновить ядро без остановки работы и не теряя состояние системы, устройств и процессов. KHO предоставляет возможности для запуска нового ядра из старого без потери состояния системы, а LUO реализует сохранение состояния устройств и оперативной памяти, а также обеспечивает непрерывность операций, связанных с DMA и обработкой прерываний. В systemd для системных и пользовательских unit-ов реализована возможность сохранения файловых дескрипторов перед вызовом kexec и их восстановления после перезагрузки ядра через kexec. В unit-ах также можно создавать собственные сеансы LUO, сохраняемые и восстанавливаемые при выполнении kexec. Для включения сохранения состояния хранилища файловых дескрипторов следует использовать настройку FileDescriptorStorePreserve=yes.
  • Реализована подсистема systemd-imdsd, предоставляющая API на базе Varlink IPC для доступа локальных программ к сервисам IMDS (Instance Metadata Service), предоставляемым разными провайдерами облачных систем. IMDS даёт возможность виртуальным машинам получать информацию об облачном окружении, например, можно получить сведения о сетевой конфигурации, географическом расположении узла, типе CPU и размере хранилища. В systemd-imdsd предоставляется как низкоуровневый API для доступа к отдельным полям, так и высокоуровневый интерфейс для запроса по типовым ключам, сопоставленными с ключами, специфичными для отдельных облачных платформ. Для взаимодействия с systemd-imdsd добавлена утилита systemd-imds, позволяющая импортировать поля из IMDS в локальную систему учётных записей. Для распознавания облачных платформ по информации из SMBIOS и определения доступной на текущем узле функциональности IMDS добавлена новая БД hwdb.d/40-imds.hwdb. Реализовано распознавание облачных платформ Amazon EC2, Microsoft Azure, Google Compute Engine, Hetzner, Oracle Cloud, Scaleway, Tencent Cloud, Alibaba ECS и Vultr. Доступен обработчик systemd-imds-generator для автоматической подстановки сервиса для получения данных через IMDS в случае выявления работы под управлением поддерживаемой облачной платформы. Возможно создавать универсальные образы, поддерживающие использование IMDS при запуске в облачных окружениях, но способные работать и без IMDS.
  • В systemd-stub реализована функциональность boot secret, позволяющая сформировать ключ на основе EFI-переменной, хранимой в недоступной для операционной системы области и инициализированной случайным значением. В initrd ключ передаётся через файл /.extra/boot-secret. Представленная возможность может потребоваться для получения специфичного для системы случайного ключа для верификации процесса загрузки или шифрования на системах без аппаратного TPM (Trusted Platform Module).
  • Добавлен сервис systemd-tpm2-swtpm.service для запуска эмулятора TPM-чипов swtpm (Software TPM Emulator), который можно использовать для автоматического отката на программную реализацию TPM для защищённой загрузки на системах без аппаратного TPM. Программный TPM работает в пользовательском пространстве и не позволяет добиться уровня защиты как у аппаратного TPM, но в некоторых ситуациях его применение оправдано, по сравнению с работой без TPM. Например, программный TPM может получить ключ шифрования разделов при помощи новой функциональности «boot secret» и использовать для хранения своего состояния раздел ESP (EFI System Partition) на диске. Для автоматического включения программного TPM предложен параметр командой строки ядра systemd.tpm2_software_fallback.
  • Объявлен стабильным и помещён в /usr/bin/ компонент systemd-sysupdate, предназначенный для автоматического определения, загрузки и установки обновлений с использованием атомарного механизма замены разделов, файлов или каталогов (используются два независимых раздела/файла/каталога, на одном из которых находится текущий работающий ресурс, а на другом устанавливается очередное обновление, после чего разделы/файлы/каталоги меняются местами).
  • В systemd-resolved реализована возможность переопределения или указания новых DNS-записей через размещение файлов в формате JSON в каталогах systemd/resolve/static.d/. В отличие от /etc/hosts в новых файлах можно не только привязывать IP-адреса к именам хостов, но и определять ресурсные DNS RR-записи, отличные от «A» и «AAAA». Кроме того, в systemd-resolved добавлены настройки размера DNS-кэша: DNSCacheSize, MulticastDNSCacheSize и LLMNRCacheSize.
  • Добавлена утилита ‘storagectl’ для инспектирования устройств хранения и управления подключением блочных устройств и файловых систем.
  • В рамках инициативы по сокращению зависимостей у libsystemd реализована динамическая загрузка библиотек libgnutls, libmicrohttpd, libcurl, libcrypto, libssl, libfdisk и libcryptsetup при помощи вызова dlopen() в ситуациях, когда их функции действительно необходимы.
  • В systemd-tmpfiles добавлен флаг --inline, позволяющий выставлять директивы в командной строке без создания файлов конфигурации в tmpfiles.d/ и без отправки настроек через STDIN. Добавлен новый тип директив k/K для выставления capabilities. Добавлен файл конфигурации tmpfiles.d/root.conf, выставляющий права доступа 0555 (-r-xr-xr-x) к корневой директории (/) для защиты от указания неверных прав при динамическом формировании корневой ФС.
  • В утилите bootctl обеспечено сохранение резервной копии загрузчика systemd-boot и прописывании старой версии в UEFI в качестве запасного варианта загрузки.
  • В systemd-vmspawn добавлена поддержка прямой загрузки ядра без использования прошивки UEFI. Реализована опция --firmware-features для выборочного включения или выключения отдельных возможностей прошивок. Добавлен режим --console=headless для запуска виртуальной машины без консоли и экрана. Добавлена опция --image-disk-type для выбора применяемого в VM типа блочного хранилища (virtio-blk, virtio-scsi, nvme, scsi-cd). Добавлена опция --coco (Confidential Computing) для включения режима шифрования памяти виртуальных машин с использованием технологии AMD SEV-SNP.
  • В systemd-hostnamed и /etc/machine-info добавлена поддержка прикрепления к текущей системе произвольных тегов, используя параметр Tags. Выставленные теги затем могут применяться для выборочного применения настроек с проверкой через выражение ConditionMachineTag.
  • Добавлены настройки EventLoopRateLimitIntervalSec и EventLoopRateLimitBurst, ограничивающие интенсивность цикла обработки событий в PID1 для высвобождения ресурсов CPU в случае зацикливания.
  • В сервисном менеджере реализована настройка MinimumUptimeSec для задания минимального времени работы системы (по умолчанию 15 секунд). Если до истечения этого времени инициировано завершение работы или перезагрузка, то на завершающей стадии добавляется соответствующая задержка.
  • Для unit-ов реализованы новые настройки CPUSetPartition для выставление типа раздела cpuset в cgroup (root, isolated, member), RestrictFileSystemAccess для разрешения запуска только исполняемых файлов, верифицированных по цифровой подписи при помощи dm-verity, и CPUPressureWatch/CPUPressureThresholdSec/IOPressureWatch/IOPressureThresholdSec для получения уведомлений о высокой нагрузке на CPU и ввод/вывод.
  • Расширен список метрик, выдаваемых утилитой systemd-report. Например, добавлены сведения о размере физической памяти и активных ядрах CPU, данные о содержимом полей SMBIOS и /etc/machine-info, информация о поддержке режима Confidential Computing и сведения о производителе чипов TPM2.
  • В systemd-oomd реализована возможность определения правил для отсеивания процессов при возникновения нехватки памяти в системе. Правила можно задавать в каталоге /etc/systemd/oomd/rules.d/ или в сервисных unit-ах через директиву OOMRule.
  • В systemd-socket-proxy добавлена поддержка протокола PROXY, соответствующего первой версии протокола haproxy.
  • В systemd-networkd реализован новый бэкенд sd-dhcp-relay для релеев DHCP. Объявлены устаревшими настройки в секции [DHCPServer]BindToInterface, RelayTarget, RelayAgentCircuitId и RelayAgentRemoteId, вместо которых следует использовать параметр DHCPRelay в секции [Network] и серию новых настроек в секции [DHCPRelay] и в файле networkd.conf. Добавлена команда networkctl dhcp-lease INTERFACE для сохранения дампа c информацией о привязке IP-адресов (DHCP lease).
  • В утилиту systemd-nspawn добавлена опция --restrict-address-families, а в файлы .nspawn настройка RestrictAddressFamilies для ограничения используемых в контейнере семейств адресов сокетов. В будущих выпусках по умолчанию будут разрешены только семейства AF_INET, AF_INET6 и AF_UNIX.
  • Прекращена поддержка старого формата БД udev (версии 0.x). Обновление на лету с версий systemd до выпуска 247 (opennet.ru) больше не поддерживается.
  • При сборке с Си-библиотекой musl теперь требуется как минимум выпуск musl 1.2.6.

Дополнительно можно отметить релиз проекта liberated-systemd 261, развивающего форк systemd, избавленный от кода, который может использоваться для слежки за пользователями. В предложенном выпуске изменения сводятся к удалению кода, добавляющего в userdb поле birthDate с датой рождения пользователя, а в утилиту homectl опцию --birth-date для установки возраста.

>>> Источник: OpenNET

★★★★★

Проверено: hobbit ()

Горшочек не вари. Что-то они в этот systemd уже всё напихали, осталось только при*ть монитор DE.

Pierre_Dolle
()
Ответ на: комментарий от Pierre_Dolle

Что-то они в этот systemd уже всё напихали

Хоть кто-то пытается навести порядок и разгрести весь тот бардак, который за годы на-ло то самое «сообщество» :)

Ну и разумеется, особенно яростные приверженцы зоопарка «100 цветов», в лучших традициях этому противостоят и возмущаются. Это примерно как борова дикого из леса в музей вроде Эрмитажа запустить.

DrRulez ★★★★★
()
Последнее исправление: DrRulez (всего исправлений: 1)

развивающего форк systemd, избавленный от кода, который может использоваться для слежки за пользователями

Давненько я не видел столь откровенного вранья. Они тупо выпилили поле с днём рождения - какая ещё слежка, что за дичь?

DNS-записей через размещение файлов в формате JSON в каталогах systemd/resolve/static.d/

Если будет поддержка wildcard - будет удобный вариант организовать общесистемный AdBlock на уровне DNS.

zabbal ★★★☆☆
()
Ответ на: комментарий от Pierre_Dolle

Как красношапка будет продавать курсы и саппорт, если софт будет простой и понятный?

BruteForce ★★★★
()

подготовка к поддержке API для верификации возраста

А как долго ждать необходимости на камеру махать паспортом при включении компа?

LightDiver ★★★★★
()
Ответ на: комментарий от hobbit

Так даже веселее их читать :) Не надо было не акцентировать.

Gonzo ★★★★★
()
Ответ на: комментарий от wandrien

Так там же набор утилит по сути. Ну, примерно, как coreutils. Базово для инита только journald обязателен. Остальное как хочешь как автор дистра распорядится.

SkyMaverick ★★★★★
()
Последнее исправление: SkyMaverick (всего исправлений: 1)
Ответ на: комментарий от hobbit

Кажется, кто-то не знает значения слова «боров».

Зато все все прекрасно поняли. Но я точно знаю, что когда по существу - сказать нечего, то начинают искать знаки препинания, орфографические и смысловые ошибки и далее - по списку. Что только доказывает правоту того, в чьих высказываниях ищут и находят нечто подобное. Удачного дня :)

DrRulez ★★★★★
()
Ответ на: комментарий от bread

Поддерживаю избавление от кода

Уж кого кого, а тебя с такими мыслями надо точно подальше от кода держать :)

DrRulez ★★★★★
()
Ответ на: комментарий от hobbit

Или у него особенные отношения с природой

frost_ii ★★★★★
()

Когда оно перестанет выпендриваться и сможет работать на чём-то кроме linux с cgroups?

Shadow ★★★★★
()
Ответ на: комментарий от Shadow

Альтернативное предложение: когда уже наконец остальные системы подтянутся и запилят себе аналоги cgroups?

Я тут недавно смотрел на OpenBSD и обнаружил следующие вещи. Там до сих пор не изобрели:

  • tmpfs, вместо него используется mfs (tmpfs умеет расширяться динамически до указанного размера, если он есть, а mfs жрет оперативу статически), код был, но удален из ядра, потому что НИНУЖНО и не смогли отладить.
  • mount -o bind (они на полном серьезе рекомендуют поднимать NFS и монтировать его на локалхост, лол);
  • Журналируемые файловые системы.

Если софт под линукс будет ориентироваться на отсталые ОС, то и сам станет таким же. Я не говорю, что альтернативные системы не нужны. Но если в них чего-то не хватает для соответствия современным реалиям - это проблема разработчиков ОС, а не разработчиков софта.

liksys ★★★★
()
Последнее исправление: liksys (всего исправлений: 2)
Ответ на: комментарий от frost_ii

Для вас всегда есть винда

На десктопе я лучше на маке посижу, с которого и пишу, а свои додумки и фонтаны фантазий - себе оставьте. А линукс у меня был и в среднесрочной перспективе останется на серверах, где ему самое место.

DrRulez ★★★★★
()

подготовка к поддержке API для верификации возраста

Как я и говорил - несмотря на отмену, шапка всё равно засунет этот зонд настолько глубоко, насколько только можно.

PPP328 ★★★★★
()
Ответ на: комментарий от liksys

Ну опенбсд так прогрессивен, что выпил эту фичу (в остальных bsd оно есть). ИИ говорит, что в darwin есть nfs через file socket - аж захотелось портировать! И нет, cgroups2 - это кривой костыль, который никогда не выйдет за пределы linux.

Shadow ★★★★★
()
Последнее исправление: Shadow (всего исправлений: 1)
Ответ на: комментарий от liksys

Потому что использование специфических непортируесых фич ничем не отличается от использования оффтопика, например.

Shadow ★★★★★
()
Ответ на: комментарий от Shadow

Лол. То есть, по твоей логике, фича плохая, только потому, что ее сделали. Ясно, вопросов больше не имею.

liksys ★★★★
()
Последнее исправление: liksys (всего исправлений: 1)
Ответ на: комментарий от DrRulez

Это примерно как борова дикого из леса в музей вроде Эрмитажа запустить

чёт не понятно кто тут боров, а кто музей

Bad_ptr ★★★★★
()
Последнее исправление: Bad_ptr (всего исправлений: 1)

Я так понял, в систем-дэ осталось добавить реализацию Вяленого, DE и можно выносить Линукс на свалку? Особенно если в систем-дэ добавить и реализацию ядра…

Кто-нибудь ещё помнит, зачем был лозунг «Одна программа – одна операция»? Ведь не только для упрощения отлова ошибок, но и для возможности переписать или хотя бы поддерживать эту прогу силами одного-двух человек, если кто-то закроет её код, предъявит права или захочет много денег за.

Сила СПО не в бесплатности, а в анархии кучи альтернатив, «одна партия, одно систем-дэ, одна Красная Шапка» смертельно для. Вспомните, что не на всей территории планеты использование RH легально.

mister_VA ★★★
()
Ответ на: комментарий от DrRulez

Но мне нравится systemd! Это хорошая инит система, удобная понятная. Но зачем мне в инит системе управление DNS, сетью, пользователями, контейнерами, и ещё с десяток вещей, а теперь вдобавок установщик и TPM? Оно мне сервисы запускать должно, а не заменять половину системы. Такие решения в лучшем случае выглядят странно. Делай одну вещь и делай хорошо. Делай всё сразу и не преуспей ни в чём. Зачем мне в инит системе весь этот зоопарк? Какое отношение он имеет к запуску сервисов?

Pierre_Dolle
()
Ответ на: комментарий от Pierre_Dolle

Потому что это не инит, а система управления всем. Так и пишут же – системный менеджер. С самого начала так и было задумано, что редхат подгребает под себя всё, а линуксоиды при этом пищат от удовольствия. Теперь пришло время для зондов, и писк уже не такой радостный почему-то.

bread
()
Ответ на: комментарий от mister_VA

всем любителям впихивать философию «одна программа - одна операция» куда ни попадя, посоветую использовть бравзер, в виде отдельных програмулин: програмулина tcpi/ip + програмулина TLS + програмулина http + програмулина граф.рендера + програмулина DOM + програмулина джаваскрипт + еще пяток програмулин помельчеее…

ты можешь взять код системд, выпилить лишнее и сделать более лучший менеджер системы.
вижу прям кучу проектов, один другого кручееее :)

pfg ★★★★★
()
Ответ на: комментарий от pfg

в виде отдельных програмулин

вменяемыми людьми это делается в виде отдельных динамических библиотек. ещё лучше, если это всё работает через устаканившийся api, тогда эти библиотеки можно при необходимости заменять другими.

alegz ★★★★★
()
Ответ на: комментарий от alegz

океюшки тэоретик :) спробуй заменить хромиум на чтонить другое в большинстве бравзеров.
жду патчей :)

pfg ★★★★★
()
Ответ на: комментарий от Shadow

сможет работать на чём-то кроме linux с cgroups?

Когда ты займёшься портированием - все только тебя и ждут ;)

zabbal ★★★☆☆
()
Ответ на: комментарий от PPP328

всё равно засунет этот зонд

То есть наличие этого поля в LDAP тебя не смущает? Или ты про него тупо не знал?

zabbal ★★★☆☆
()
Ответ на: комментарий от Pierre_Dolle

В systemd нет всего того, что ты написал. Это всё отдельные проекты. Просто не устанавливай их в свою систему. Тебе нравится systemd, а Поттерингу нравится писать разнообразный системный софт. И он пользуется брендом systemd для небольшого продвижения своих программ, как автор - имеет право. Технически всё это не связанные вещи.

vbr ★★★★★
()
Последнее исправление: vbr (всего исправлений: 2)
Ответ на: комментарий от zabbal
  1. Ни slapd ни ldap-utils ни другая LDAP-срань не стоит по умолчанию. Пользователь имеет право выбора, пользоваться или нет. Systemd пропихивается безальетрнативно - основные окружения вроде KDE/Gnome теперь буквально на него завязаны.

  2. Поле дата рождения/возраст в LDAP опционально и нет требований по его указанию.

  3. Поле возвраст добавлено в systemd по политическо-экономическим причинам, кроме того, не получится сделать его опциональным для других стран, потому что иначе «дети» из Калифорнии смогут скачать версию для EU, а в ней, в таком случае, не будет проверки. Поэтому это внедрят везде. Плюс, несмотря на то, что для открытых ОС сделали исключение systemd-клоуны всё равно не будут удалять поддержку, потому что их хозяева из redhat сказали «внедрите».

PPP328 ★★★★★
()
Ответ на: комментарий от vbr

Поттерингу нравится писать разнообразный системный софт

Интересно, он этим занимается после работы? Чота не верится. Прозреваю как Поттер пыхтит над системным софтом для линукса прямо на рабочем месте в микросаксе под присмотром строгого начальника индуса с плёткой.

bread
()
Ответ на: комментарий от vbr

И он пользуется брендом systemd для небольшого продвижения своих программ, как автор - имеет право. Технически всё это не связанные вещи.

Осталось понять, почему эти «не связанные вещи» регулярно подаются единой новостью. Вот как в этот раз, например. Причём они именуются не просто программами, а «компонентами». В контексте разговора про systemd. Вот что люди после этого должны думать?

Юрирдически – да, имеет право, а по факту это уже манипуляцией попахивает.

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 2)
Ответ на: комментарий от hobbit

Кого его? Я уже запутался в этой ветке про свиней. Боров это друг растишек, без него они не смогли бы воображать себя системными программистами. Полезное жывотное.

bread
()
Ответ на: комментарий от PPP328

Поле дата рождения/возраст в LDAP опционально

Так оно и здесь опционально - ты читать вообще умеешь?

Поэтому это внедрят везде.

Ну то есть буквально как уже в каждом LDAP сервисе не первое десятилетие. Где ж ты раньше-то был со своим пригаром?

zabbal ★★★☆☆
()
Ответ на: комментарий от mister_VA

Сила СПО не в бесплатности, а в анархии кучи альтернатив

Это не сила, это жидкая коричневая слабость, которая за десятилетия позволила достичь выдающегося ничего. Существование проектов типа systemd это единственный шанс для линукса остаться релевантным в эпоху ИИ.

zabbal ★★★☆☆
()
Ответ на: комментарий от hobbit

Кажется, кто-то не знает значения слова «боров».

Фанат Rust:

У мэнэ у жопи borrow,
У нёго свирепый норов!

shdown ★★
()
Ответ на: комментарий от bread

Это другой боров.

Хотя… сравнить работу borrow checker с проверкой на кастрированность… интересная мысль.

hobbit ★★★★★
()
Ответ на: комментарий от zabbal

Ооокей, чатгпт говорит, что то, что нужно портировать - «НЕ init, а “runtime kernel”». Что как бы намекает, что хватит его называть init-ом.

Shadow ★★★★★
()
Последнее исправление: Shadow (всего исправлений: 1)
Ответ на: комментарий от hobbit

Потому, что я слегка лукавлю, когда говорю, что это не связанные вещи. Конечно они связанные и, конечно, оно всё идеально работает вместе (ну в представлении автора). Но по факту systemd init это отдельная программа и прекрасно работает без resolved, timesyncd, networkd и whateverd. Вот наоборот уже - вряд ли. И цикл релиза у них общий, вероятно в том числе потому, что эти отдельные программы таки полагаются на определённый API в systemd init и проще их релизить вместе, чем заботиться о каких-то раздельных циклах релиза.

Тем не менее это не отменяет того, что init там отдельный и не зависит от других компонентов (есть опциональные зависимости вроде udev или journald, но и тут есть варианты).

Я думаю, что у Поттеринга в голове есть некий идеальный линукс, к которому он шаг за шагом идёт. Вот уже и до инсталлятора дошёл. Как бы то ни было, другие дистрибутивы не обязаны поддерживать это видение и он на нём не настаивает, т.к. проекты все модулярные.

Я, кстати, считаю, что у Поттеринга видение правильное (ну насколько я со своей колокольни могу его оценить), а все текущие дистрибутивы - полный отстой. Поэтому всецело поддерживаю усилия этого достойного товарища.

vbr ★★★★★
()
Последнее исправление: vbr (всего исправлений: 2)
Ответ на: комментарий от Shadow

Ооокей, чатгпт говорит, что

Мда, насчёт портировать это я поспешил конечно. Займись чем-нибудь более подходящим - посуду там помой или пыль протри…

zabbal ★★★☆☆
()
Ответ на: комментарий от Pierre_Dolle

зачем мне в инит системе управление DNS

С чего ты взял что оно там есть?

zabbal ★★★☆☆
()
Ответ на: комментарий от mister_VA

Сила СПО не в бесплатности, а в анархии кучи альтернатив

Так анархию никто не запрещает пока. Сами юзеры выбирают корпоративную кормушку. Ну их право, потом только не жалуйтесь, когда яйца начнут выкручивать.

bread
()
Ответ на: комментарий от Pierre_Dolle

потому что это на самом деле зонд. типичный enhance and embrace в духе m$

mumpster ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.