LINUX.ORG.RU

systemd 255

 ,


0

2

Вышла новая версия свободного системного менеджера systemd.

Изменения, нарушающие обратную совместимость:

  • Теперь монтирование отдельного раздела /usr/ поддерживается только на этапе initramfs.

  • Опции SuspendMode=, HibernateState= и HybridSleepState= из секции [Sleep] в systemd-sleep.conf объявлены устаревшими и не оказывают влияния на поведение системы.

Изменения в работе супервизора:

  • Теперь инициализация демонов выполняется при помощи posix_spawn() вместо комбинации fork() и exec(); пулл-реквест #27890.

  • Теперь systemd использует файловые дескрипторы PIDFD для слежения за дочерними процессами; это упрощает логику работы супервизора; пулл-реквест #29142, #29594, #29455.

  • Новая опция SurviveFinalKillSignal= позволяет демону избежать остановки при использовании механизма soft-reboot; пулл-реквест #28545.

  • Теперь юниты поддерживают опции MemoryPeak=, MemorySwapPeak=, MemorySwapCurrent= и MemoryZSwapCurrent=; эти опции соответствуют параметрам memory.peak, memory.swap.peak, memory.swap.current и memory.zswap.current properties из cgroups v2.

  • Новая опция ConditionSecurity= позволяет указать systemd, что сервис следует запустить только в том случае, если система была загружена с проверенным образом UKI.

Поддержка TPM2:

  • Теперь systemd-cryptenroll позволяет указать конкретный PCR слот и хеш.

  • systemd-cryptenroll позволяет указать индекс ключа; пулл-реквест #29427.

  • Появилась возможность привязать LUKS-том к кокнретному чипу TPM2, не имея к нему доступ, если известен публичный ключ.

  • Бинарник systemd-cryptsetup перемещен в /usr/bin/ и может быть использован вне systemd.

  • Внутренний компонент systemd-pcrphase переименован в systemd-pcrextend.

  • Новый компонент, systemd-pcrlock, позволяет предсказывать записи PCR на основе имеющейся информации о системе; пулл-реквест #28891.

systemd-boot, systemd-stub, ukify, bootctl, kernel-install:

  • bootctl теперь позволяет определить, была ли система загружена с uki.

  • systemd-boot поддерживает горячие клавиши для выключения и перезагрузки системы.

  • systemd-boot больше не загружает непроверенные блобы Devicetree, если включен SecureBoot .

  • systemd-boot и systemd-stub теперь имеют разные индетификаторы в секции .sbat, и UEFI может вызывать их независимо; пулл-реквест #29196.

  • Компонент ukify больше не является экспериментальным; исполняемый файл теперь находится в /usr/bin/.

systemd-networkd:

  • Добавлена поддержка технологии Rapid Commit.

  • dbus интерфейс systemd-networkd теперь позволяет получать информацию о состоянии DHCP клиента; коммит #28896.

  • Опция NFTSet= позволяет привязать конфигурацию сетевого интерфейса к набору правил nftables.

  • Секция [IPv6AcceptRA] поддерживает новые опции: UsePREF64=, UseHopLimit=, UseICMP6RateLimit= и NFTSet=.

  • Секция [IPv6SendRA] теперь поддерживает опции RetransmitSec=, HopLimit=, HomeAgent=, HomeAgentLifetimeSec= и HomeAgentPreference=.

  • Конфигурационные файлы, сгенерированные на основе параметров из командной строки ядра, теперь имеют префикс 70-; приоритет этих файлов теперь выше, чем приоритет дефолтных файлов конфигурации.

Из прочих изменений

  • Добавлен новый компонент systemd-bsod, которые отображает сообщения в полноэкранном режиме, если log level установлен в LOG_EMERG.

  • Много других изменений, см. ссылку «Что нового».

Планы на будущее

  • В одном из следующих выпусков будет удалена поддержка сценариев инициализации System V и cgroups v1.

>>> Что нового (GitHub)

★☆

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

А почему ты сравниваешь системный менеджер с системой иницализации? Покажи, где в openrc управление естью, резольвером, менеджмент временных файлов и прочее.

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

потому что они там нафиг не нужны, очевидно. Нахрена тащить в openrc ресолвер и управление сетью, когда это все уже есть в busybox и вообще где угодно?

Всякие чудики годами орут про модульность, кучу маленьких экзешников и т.п. А сейчас оказывается, что без всей этой хрени systemd не systemd. Картина маслом.

Это я еще про зависимости не говорил. Нахрена systemd использует dbus, например? Чтобы не писать отдельные клиенты для IPC (его изначальная цель)? А systemctl тогда что? Карго-культ, говнокод и навязывание редхатовских зависимостей, вот что это такое

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

busybox для управления сетью

Спасибо, посмеялся.

Всякие чудики годами орут про модульность, кучу маленьких экзешников и т.п. А сейчас оказывается, что без всей этой хрени systemd не systemd. Картина маслом.

Без «всей этой хрени» работа системы выглядит как допотопный кал из XX-го века.

Чо там в вашем openrc есть для создания временных учетных записей на лету? А для декларативного управления очисткой временных файлов?

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

Чо там в вашем openrc есть для создания временных учетных записей на лету?

А кто-нибудь уже придумал вменяемый use-case для этого? Помимо факта что для этого есть nsswitch :D

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

Ненужно

Ясно. Это нужно для унификации и интеграции.

Картина маслом.

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

dbus

Ты много использовал юниксовый IPC в чистом виде? Чувствовал там переизбыток удобства? Чтобы эффективно обмениваться данными в неком стандартном формате, этот самый формат нужно создать. То есть, переизобрести dbus, которой уже и так являлся стандартом де-факто для десктопного софта. Ещё один велосипед именно для системной шины никому не был нужен.

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

Затем, что это системный менеджер, а не тупо инит.

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

systemd is a suite of basic building blocks for a Linux system. It provides a system and service manager that runs as PID 1 and starts the rest of the system.

Это уже и не init. Init лишь часть

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

А ну запусти модуль ядра линукса без линукса.

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

А ну запусти networkd без systemd.

Элементарно, Ватсон:

$ sudo docker run -it --rm --privileged archlinux
Trying to pull docker.io/library/archlinux...
Getting image source signatures
Copying blob 94012c774717 done
Copying blob bb303f4daf31 done
Copying blob 611e91f2fbf8 done
Copying blob d71957b4d7f7 done
Copying blob c003ccab720b done
Copying config b389db977f done
Writing manifest to image destination
Storing signatures
[root@e0fcdf3b3973 /]# pgrep systemd
[root@e0fcdf3b3973 /]# mkdir /run/systemd
[root@e0fcdf3b3973 /]# /usr/lib/systemd/systemd-udevd --daemon
Starting version 243.51-1-arch
[root@e0fcdf3b3973 /]# udevadm trigger --action=add
[root@e0fcdf3b3973 /]# /usr/lib/systemd/systemd-networkd &
[1] 52
[root@e0fcdf3b3973 /]# eth0: Gained IPv6LL
Enumeration completed

[root@e0fcdf3b3973 /]# networkctl
IDX LINK TYPE     OPERATIONAL SETUP
  1 lo   loopback carrier     unmanaged
  3 eth0 ether    routable    unmanaged

2 links listed.

(ref.)

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

Однако в начале заявлялся как инит

Unix вообще поначалу был запускалкой игры.

А GTK - тулкитом для графического редактора.

в общем, это не аргумент, а ерунда.

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

Лол. Тебе прямо показали, что для запуска networkd ничего, кроме udev, не нужно. Давай ты попробуешь обьяснить, что тебя не устраивает

hateWin ★☆
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.