तीन महिन्यांच्या विकासानंतर उपलब्ध सिस्टम मॅनेजर रिलीझ 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- बूट — команда «bootctl install», для начального конфигурирования устанавливаемой системы (например, выбор локали и раскладки клавиатуры) — systemd-creds.
- В рамках подготовки к реализации требований законов об интеграции в ОС API для проверки возраста в БД युजरडीबी добавлено поле birthDate с датой рождения пользователя. Добавленное поле сможет использоваться в развиваемом для дистрибутивов портале xdg-desktop-portal и сервисе AccountsService для выдачи приложениям сведений о возрастной категории пользователя через D-Bus интерфейс org.freedesktop.AgeVerification1 или org.freedesktop.ParentalControls. Для установки возраста в утилиту homectl добавлена опция —birth-date.
- В обработчик PID1 добавлена поддержка подсистем Linux-ядра LUO (Live Update Orchestration) आणि केएचओ (Kexec Handover), позволяющих полноценно перезагрузить и обновить ядро без остановки работы и не теряя состояние системы, устройств и процессов. केएचओ предоставляет возможности для запуска нового ядра из старого без потери состояния системы, а 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- निराकरण реализована возможность переопределения или указания новых 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 для выставления क्षमता. Добавлен файл конфигурации tmpfiles.d/root.conf, выставляющий права доступа 0555 (-r-xr-xr-x) к корневой директории (/) для защиты от указания неверных прав при динамическом формировании корневой ФС.
- उपयुक्तता मध्ये bootctl обеспечено сохранение резервной копии загрузчика systemd-boot и прописывании старой версии в UEFI в качестве запасного варианта загрузки.
- В सिस्टमडी-व्हीएमस्पॉन добавлена поддержка прямой загрузки ядра без использования прошивки 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 в случае зацикливания.
- सर्व्हिस मॅनेजरमध्ये आता किमान सिस्टम अपटाइम (डीफॉल्टनुसार १५ सेकंद) सेट करण्यासाठी 'मिनिममअपटाइमसेक' सेटिंगचा समावेश आहे. ही वेळ संपण्यापूर्वी शटडाउन किंवा रीबूट सुरू केल्यास, अंतिम टप्प्यात त्यानुसार विलंब जोडला जातो.
- Для unit-ов реализованы новые настройки CPUSetPartition для выставление типа раздела cpuset в cgroup (root, isolated, member), RestrictFileSystemAccess для разрешения запуска только исполняемых файлов, верифицированных по цифровой подписи при помощи dm-verity, и CPUPressureWatch/CPUPressureThresholdSec/IOPressureWatch/IOPressureThresholdSec для получения уведомлений о высокой нагрузке на CPU и ввод/вывод.
- Расширен список метрик, выдаваемых утилитой सिस्टमडी-रिपोर्ट. Например, добавлены сведения о размере физической памяти и активных ядрах 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 C लायब्ररी वापरून बिल्ड करताना, आता किमान musl 1.2.6 रिलीज आवश्यक आहे.
याव्यतिरिक्त, हे लक्षात घेतले जाऊ शकते रीलिझ प्रकल्प liberated-systemd 261, развивающего форк systemd, избавленный от кода, который может использоваться для слежки за пользователями. В предложенном выпуске изменения сводятся к удалению кода, добавляющего в userdb поле birthDate с датой рождения пользователя, а в утилиту homectl опцию —birth-date для установки возраста.
स्त्रोत: linux.org.ru
