Después de tres meses y medio de desarrollo, se presenta la versión del administrador de sistemas systemd 253.
Entre los cambios en la nueva versión:
- Se incluye la utilidad ‘ukify’, diseñada para compilar, verificar y generar firmas para imágenes de núcleo unificadas (UKI, Unified Kernel Image), que combinan el manejador para la carga del núcleo desde UEFI (UEFI boot stub), la imagen del núcleo de Linux y el entorno del sistema initrd que se carga en memoria y se utiliza para la inicialización inicial antes de montar el sistema de archivos raíz. Esta utilidad reemplaza la funcionalidad anteriormente proporcionada por el comando ‘dracut —uefi’, y la complementa con capacidades para el cálculo automático de desplazamientos en archivos PE, la combinación de initrd, la firma de imágenes de núcleo embebidas, la creación de imágenes combinadas c sbsign, heurísticas para determinar uname del núcleo, verificación de imágenes de arranque y adición de políticas PCR firmadas generadas por la utilidad systemd-measure.
- Se ha añadido soporte para entornos initrd no restringidos en cuanto a la memoria, en los que se utiliza overlayfs en lugar de tmpfs. Para tales entornos, systemd no elimina todos los archivos en initrd después de cambiar el sistema de archivos raíz.
- Se ha agregado un parámetro ‘OpenFile’ a los servicios para abrir archivos arbitrarios en el sistema de archivos (o conectarse a socket Unix) y pasar los descriptores de archivos asociados al proceso que se inicia (por ejemplo, cuando se necesita organizar el acceso a un archivo para un servicio no privilegiado sin cambiar los permisos de acceso al archivo).
- En systemd-cryptenroll, al registrar nuevas claves se ha implementado la posibilidad de desbloquear particiones encriptadas utilizando tokens FIDO2 (—unlock-fido2-device) sin necesidad de ingresar una contraseña. Se asegura el almacenamiento salado de un PIN especificado por el usuario para complicar la determinación mediante pruebas de fuerza bruta.
- Se han añadido las configuraciones ReloadLimitIntervalSec y ReloadLimitBurst, así como opciones de línea de comandos del núcleo (systemd.reload_limit_interval_sec y /systemd.reload_limit_burst) para limitar la intensidad del reinicio de procesos en segundo plano.
- Para las unidades, se ha implementado la opción ‘MemoryZSwapMax’ para configurar la propiedad memory.zswap.max, que determina el tamaño máximo de zswap.
- Para las unidades se ha implementado la opción ‘LogFilterPatterns’, que permite establecer expresiones regulares para filtrar la información que se envía al registro (se puede usar para excluir ciertas salidas o conservar solo ciertos datos).
- En scope-units se ha implementado el soporte para configurar «OOMPolicy» para definir el comportamiento en caso de desalojo por falta de memoria (para sesiones de inicio se establece OOMPolicy=continue, para que el OOM killer no las finalice forzosamente).
- Se ha definido un nuevo tipo de servicios — «Type=notify-reload», que extiende el tipo «Type=notify» con la posibilidad de esperar a que se complete el procesamiento de la señal de reinicio (SIGHUP). Los servicios systemd-networkd.service, systemd-udevd.service y systemd-logind han sido trasladados al nuevo tipo.
- En udev se utiliza un nuevo esquema de denominación para dispositivos de red, cuyo principal cambio es que para dispositivos USB no vinculados a un bus PCI ahora se establece ID_NET_NAME_PATH para garantizar una mayor predictibilidad en los nombres. Se ha implementado el operador ‘-=’ para las variables SYMLINK, que deja los enlaces simbólicos no configurados si se había definido previamente una regla para su adición.
- En systemd-boot se ha reestructurado la transmisión de semillas para generadores de números aleatorios en el núcleo y para el backend de disco. Se ha añadido la capacidad de cargar el núcleo no solo desde la partición ESP (EFI System Partition), por ejemplo, desde el firmware o directamente para QEMU. Se ha garantizado el análisis de los parámetros SMBIOS para determinar el inicio en un entorno de virtualización. Se ha implementado un nuevo modo ‘if-safe’ en el que el certificado para UEFI Secure Boot se carga desde ESP solo si se considera seguro (se inicia en una máquina virtual).
- En la utilidad bootctl se ha implementado la generación de tokens del sistema en todos los sistemas EFI, excepto en entornos de virtualización. Se han añadido comandos ‘kernel-identify’ y ‘kernel-inspect’ para mostrar el tipo de imagen del núcleo y la información sobre las opciones de línea de comandos y la versión del núcleo, ‘unlink’ para eliminar el archivo relacionado con el primer tipo de entradas de arranque, ‘cleanup’ para eliminar todos los archivos del directorio ‘entry-token’ en ESP y XBOOTLDR que no estén relacionados con el primer tipo de entradas de arranque. Se ha asegurado el procesamiento de la variable KERNEL_INSTALL_CONF_ROOT.
- En el comando ‘systemctl list-dependencies’ se ha asegurado el procesamiento de las opciones «—type» y «—state», y en el comando ‘systemctl kexec’ se ha añadido soporte para entornos basados en el hipervisor Xen.
- En los archivos .network en la sección [DHCPv4] se ha añadido soporte para las opciones SocketPriority y QuickAck, RouteMetric=high|medium|low.
- En systemd-repart se han añadido las opciones «—include-partitions», «—exclude-partitions» y «—defer-partitions» para filtrar particiones según el tipo UUID, lo que permite, por ejemplo, crear imágenes donde una partición se basa en el contenido de otra partición. También se ha añadido la opción «—sector-size» para especificar el tamaño del sector utilizado al crear una partición. Se añadió soporte para la generación del sistema de archivos erofs. En la configuración Minimize, se ha implementado el tratamiento del valor «best» para seleccionar el tamaño mínimo posible de la imagen.
- En systemd-journal-remote se permite el uso de las configuraciones MaxUse, KeepFree, MaxFileSize y MaxFiles para limitar el consumo de espacio en disco.
- En systemd-cryptsetup se ha añadido soporte para enviar solicitudes anticipadas a los tokens FIDO2 para verificar su presencia antes de la autenticación.
- En crypttab se han añadido nuevos parámetros tpm2-measure-bank y tpm2-measure-pcr.
- En systemd-gpt-auto-generator se ha implementado el montaje de las particiones ESP y XBOOTLDR en los modos «noexec,nosuid,nodev», y se ha añadido el seguimiento de los parámetros rootfstype y rootflags pasados a través de la línea de comandos del núcleo.
- En systemd-resolved se proporciona la posibilidad de configurar los parámetros del resolvedor mediante la especificación de opciones nameserver, domain, network.dns y network.search_domains en la línea de comandos del núcleo.
- En el comando «systemd-analyze plot» aparece la posibilidad de salida en formato JSON al especificar la opción «—json». También se han añadido nuevas opciones «—table» y «—no-legend» para gestionar la salida.
- En 2023 se prevé la finalización del soporte para cgroups v1 y jerarquías de directorios separadas (cuando /usr se monta por separado de la raíz o se separan los directorios /bin y /usr/bin, /lib y /usr/lib).
Fuente: opennet.ru
