systemd 254 ya fue liberado y estas son sus novedades
Después de cinco meses de desarrollo, se dio a conocer el lanzamiento de la nueva versión de systemd 254, en la cual una de sus principales novedades es la compatibilidad con un modo de reinicio suave, asi como tambien una nueva utilidad para verificar el nivel de batería, mejoras, correcciones y más.
En esta nueva versión que se presenta de systemd 254, como ya mencionamos una de sus principales novedades es la compatibilidad con un modo de reinicio suave que hace que solo los componentes del espacio del usuario se reinicien sin tocar el kernel de Linux. En el nuevo modo, al reiniciar, no se aplican las etapas de inicialización del hardware, llamada del cargador de arranque, inicio y carga del kernel, inicialización del controlador, carga del firmware y procesamiento initrd, lo que permite acelerar significativamente el reinicio y reducir el tiempo de inactividad durante la actualización de entornos utilizando imágenes de sistema listas para usar.
El nuevo modo permite cerrar todos los procesos en el espacio del usuario, luego reemplazar la imagen del FS root con una nueva versión e iniciar el proceso de inicialización del sistema sin reiniciar el kernel.
Otros de los cambios que se destaca de la nueva versión es la utilidad «systemd-battery-check» para verificar el nivel de la batería. La utilidad se puede iniciar en una etapa temprana del inicio para evitar que el sistema se inicie con un nivel de batería muy bajo.
Para las unidades de servicio, se proponen los ajustes MemoryPressureWatch y MemoryPressureThresholdSec, que permiten controlar la lógica de uso del subsistema PSI (Pressure Stall Information) en relación con los servicios individuales. PSI proporciona información sobre el tiempo de espera para obtener varios recursos para evaluar con precisión el nivel de carga del sistema, lo que permite identificar el comienzo de retrasos debido a la falta de recursos y terminar selectivamente los recursos intensivos.
Ademas de ello, tambien se destaca que se agregó la configuración RootEphemeral, que permite usar en los servicios donde se establecen los parámetros RootImage y RootDirectory, copias temporales de una imagen de disco o árbol de directorio, que se crean a través de btrfs y reflink-y btrfs/xfs snapshots cuando se inicia el servicio, y se eliminan después de detener el servicio.
Tambien podremos encontrar que se añadió el comando «fdstore» a la utilidad systemd-analyze para mostrar el contenido del almacén de descriptores de archivos asociado con una unidad (usado para reiniciar servicios sin estado; los descriptores de archivos se almacenan en fdstore antes de salir y restaurarse al iniciar).
Por otra parte, para systemd-resolved, el parámetro StateRetentionSec se agregó a resolve.conf, lo que permite que los registros DNS se almacenen en caché durante más tiempo del especificado a través de TTL y se usen si el servidor DNS ascendente deja de responder. El comando «show-cache» se ha agregado a la utilidad resolvectl para ver el contenido de la caché de DNS.
De los demás cambios que se destacan de esta nueva versión:
- Se agregó la opción «–when» a los comandos de reinicio, kexec, apagado y detención en la utilidad systemctl para permitirle seleccionar cuándo reiniciar o detener.
- Añadidas las opciones «–fd» y «–fdname» a la utilidad systemd-notify para enviar descriptores de archivos arbitrarios al administrador de servicios.
- Se agregó la opción «–exec» para ejecutar el comando especificado después de enviar el mensaje.
- Se agregó el comando «systemctl list-paths» para mostrar todas las unidades de ruta activas, similar a los comandos «systemctl list-timers» y «systemctl list-sockets».
- Se agregó la capacidad de las unidades para establecer la configuración de la memoria de inicio (Startup*, por ejemplo, StartupMemoryMax), que se usa de manera similar a la configuración de inicio de E/S y CPU (StartupCPUWeight, etc.).
- El proceso PID carga automáticamente los módulos virtio_console y virtio-vsock para máquinas virtuales.
- Para las unidades de servicio, se agregó la configuración DelegateSubgroup, que le permite colocar servicios en subgrupos existentes en lugar de crear un cgroup superior separado para el servicio.
- Se agregó el comando «whoami» a la utilidad systemctl para mostrar el nombre de la unidad con la que está asociado el PID especificado.
- Se agregó la opción ‘–list-cvm’ a systemd-detect-virt para enumerar las máquinas virtuales confidenciales.
- El script de instalación del kernel se ha reescrito en C.
Finalmente si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.