После пяти месяцев разработки запуск новая версия системд 254, в котором одной из главных новинок является совместимость с режимом мягкого перезапуска, а также новая утилита для проверки уровня заряда батареи, улучшения, исправления и прочее.
В представленной новой версии systemd 254, как мы уже упоминали, одной из главных новинок является поддержка режима мягкой перезагрузки, при котором перезагружаются только компоненты пространства пользователя, не затрагивая ядро Linux. В новом режиме при перезагрузке не применяются этапы аппаратной инициализации, вызова загрузчика, запуска и загрузки ядра, инициализации драйвера, загрузки прошивки и обработки initrd, что позволяет значительно ускорить перезагрузку и сократить время простоя при обновлении сред с использованием out Готовые системные образы.
Новый режим позволяет убить все процессы в пользовательском пространстве, затем заменить корневой образ ФС новой версией и запустить процесс загрузки системы без перезагрузки ядра.
Другими изменениями, которые выделяются в новой версии, являются Утилита systemd-battery-check для проверки уровня заряда батареи. Утилита может быть запущена на ранней стадии загрузки, чтобы предотвратить запуск системы с очень низким уровнем заряда батареи.
Для сервисных юнитов предложены настройки MemoryPressureWatch и MemoryPressureThresholdSec, что позволяют контролировать логику использования подсистемы PSI (Информация о стойке под давлением) в связи с отдельными услугами. PSI предоставляет информацию о времени ожидания различных ресурсов для точной оценки уровня загрузки системы, позволяя выявлять начало задержек из-за нехватки ресурсов и выборочно прекращать интенсивные ресурсы.
В дополнение к этому также подчеркивается, чтои добавил конфигурацию КореньЭфемерный, что позволяет использовать в сервисах, где задаются параметры RootImage и RootDirectory, временные копии образа диска или дерева каталогов, которые создаются с помощью снимков btrfs и reflink-y btrfs/xfs при запуске службы и удаляются после остановки службы.
Мы также можем найти, что добавлена команда «fdstore» в утилиту systemd-analyze для отображения содержимого хранилища файловых дескрипторов, связанного с диском (используется для перезапуска служб без сохранения состояния; файловые дескрипторы сохраняются в fdstore перед выходом и восстанавливаются при запуске).
Кроме того, для systemd-resolved в resolve.conf добавлен параметр StateRetentionSec, как позволяет кэшировать записи DNS дольше указаны через TTL и используются, если вышестоящий DNS-сервер перестает отвечать. В утилиту resolvectl добавлена команда show-cache для просмотра содержимого кеша DNS.
Из других изменений, которые выделяются в этой новой версии:
- Добавлен параметр «–when» для команд reboot, kexec, shutdown и stop в утилите systemctl, чтобы вы могли выбирать, когда перезагружаться или останавливаться.
- В утилиту systemd-notify добавлены параметры «–fd» и «–fdname» для отправки произвольных файловых дескрипторов диспетчеру служб.
- Добавлен параметр «-exec» для запуска указанной команды после отправки сообщения.
- Добавлена команда «systemctl list-paths» для отображения всех активных единиц пути, аналогичная командам «systemctl list-timers» и «systemctl list-sockets».
- Добавлена возможность для юнитов задавать параметры памяти запуска (Startup*, например, StartupMemoryMax), которые используются аналогично параметрам запуска ЦП и ввода-вывода (StartupCPUWeight и т. д.).
- Процесс PID автоматически загружает модули virtio_console и virtio-vsock для виртуальных машин.
- Для сервисных единиц добавлена настройка DelegateSubgroup, которая позволяет размещать сервисы в существующих подгруппах вместо создания отдельной родительской cgroup для сервиса.
- В утилиту systemctl добавлена команда whoami для отображения имени диска, с которым связан указанный PID.
- Добавлен параметр «–list-cvm» в systemd-detect-virt для отображения конфиденциальных виртуальных машин.
- Скрипт установки ядра переписан на C.
Наконец, если вам интересно узнать об этом больше, вы можете проконсультироваться с подробности по следующей ссылке.