systemd 253 ya está entre nosotros como la nueva versión mayor del init, también definido como gestor de sistema, framework de sistema o suite de software, que se ha erigido como uno de los grandes puntales de la línea mainstream de Linux, situándose casi a la altura de componentes como Mesa y kernel, y decimos casi porque, por lo general, la actualización de systemd a otra versión no suele ser algo prioritario para el usuario.
Los lanzamientos de systemd suelen ser muy potentes y la versión 253 no es una excepción en este sentido. En esta ocasión nos encontramos con novedades que mejoran en frentes el soporte de las Imágenes del Kernel Unificadas (UKI), el soporte para el arranque y la gestión de la memoria, entre otros aspectos. Aquí vamos a mencionar los aspectos más fundamentales.
Lo primero que nos encontramos en systemd 253 es la herramienta ukify
, la cual se encarga de construir, medir y firmar las imágenes UKI. La intención es reemplazar la funcionalidad proporcionada por dracut --uefi
a la vez que proporciona más funcionalidades en torno al nuevo concepto de UKI y arranque confiable que se pretende implementar Para los que anden perdidos, las UKI son un único ejecutable que pueden contener un cargador auxiliar de UEFI como systemd-stub
, la imagen del kernel, el microcódigo del procesador y la imagen de initramfs, entre otras cosas.
Por su parte, systemd-boot
ha incorporado un modo de “si es seguro” (if safe
) para realizar la inscripción automática de certificados de Secure Boot desde la partición EFI solo cuando sea considerada como segura, es capaz de pasar su semilla aleatoria directamente a la generación de números aleatorios (RNG) del kernel a través de la tabla de configuración LINUX_EFI_RANDOM_SEED_TABLE_GUID
, además de que el propio componente puede ser cargado desde un arranque directo del kernel bajo QEMU, cuando está embebido en el firmware y en otros escenarios que no son una partición de sistema EFI (ESP).
Continuando con más aspectos de systemd 253 procedentes de diversos frentes, systemd-cryptenroll
soporta ahora el desbloqueo a través de tokens de FIDO2, lo cual está relacionado con las llaves encriptación USB. El framework es capaz a partir de este lanzamiento de ejecutar generadores en un espacio de nombres bajo aislamiento (sandbox) en el que la mayor parte del sistema de ficheros es de solo lectura para luego solo tener acceso de escritura en los directorios de salida (output) y en un punto de montaje temporal de /tmp
.
Las unidades de alcance (scope) soportan ahora la opción OOMPolicy=
con el valor continuar (continue) por defecto para permitir que sobrevivan a la función de matar de OOM, la nueva opción MemoryZSwapMax=
permite configurar las propiedad de memory.zswap.max
de cgroup y los entornos de Initrd que no están en un sistema de ficheros temporal están ahora soportados.
La nueva configuración SuspendEstimationSec=
permite controlar el intervalo para medir el nivel de carga de la batería como parte del servicio de suspensión y luego hibernar del sistema. Por otro lado, las nuevas opciones de en tiempo de compilación -Ddefault-timeout-sec=
y -Ddefault-user-timeout-sec=
abren la puerta a controlar los segundos del tiempo de espera predeterminado para iniciar, detener o cancelar el sistema y las unidades de usuario, lo cual puede permitir a distribuciones como Fedora acortar el tiempo de apagado al poderse ajustar los valores predeterminados para cerrar los servicios de systemd.
Para terminar, características como la disección de las imágenes de disco detectables (DDI) que usa RootImage=
y el interruptor --image=
en herramientas como systemd-nspawn
solo montarán sistemas de ficheros Btrfs, EXT4, XFS, EROFS, SquashFS o VFAT, mientras que las unidades de servicio tienen una nueva configuración, OpenFile=
, cuyo objetivo es hacer que los servicios sin privilegios accedan a ficheros seleccionados que tienen modos de acceso restrictivos.
systemd no es un componente que los usuarios suelan actualizar en sistemas de lanzamiento puntual o con software estanco, así que por lo general se quedan con lo suministrado a través de los repositorios de la distribución de turno. Dejando aparte el proceso de compilación, la forma más sencilla de obtener systemd 253 es empleando Arch Linux o una distribución similar y esperar a que llegue como una actualización estándar. Todos los detalles de este lanzamiento están publicados en el anuncio oficial.