systemd es el init de la discordia que ha dividido a la comunidad de usuarios de GNU/Linux. Sus defensores argumentan que es un instrumento que permite aprovechar al máximo el potencial del sistema operativo y elogian su enfoque modular, mientras que sus detractores lo acusan de quebrantar la filosofía Unix y de ser un “Windows gratis”, y posiblemente para muchos así sea a partir de hoy viendo lo que trae la reciente versión 246 del init. Con todo, es el init utilizado por la gran mayoría de distribuciones Linux.
Sí, systemd 246 ya está con nosotros con al menos un par de contribuciones relacionadas con Microsoft, la compañía detrás de Windows, Microsoft Office, el framework .NET y el popular editor de código Visual Studio Code. Pero además de mencionar lo que podrían ser las partes más morbosas de este lanzamiento (por quién está detrás de algunas contribuciones), también abarcaremos otras novedades de interés.
Para empezar, de systemd 246 sobresale el hecho de que systemd-journald soporta comprensión mediante Zstd para los ficheros journal del init, cosa que se ha implementado de forma similar para los coredumps recolectados por systemd-coredump. Por su parte, los montajes Tmpfs que son creados automáticamente por systemd tienen ahora un tamaño y límites de inodo aplicados, de un 50% de la RAM para ‘/tmp’ y ‘/dev/shm’ y de un 10% de la RAM para otros montajes.
systemd-homed es una de las incorporaciones más interesantes que ha recibido el init (o framework de sistema, según se vea) en los últimos tiempos, y aunque para algunos puede resultar intrusivo, es un componente que ayuda a facilitar la administración segura del directorio personal del usuario. A partir de systemd 246 el backend de LUKS puede descartar automáticamente los bloques de sistema vacíos cuando el usuario cierra la sesión, además de ofrecer una mejor protección contra los potenciales escenarios de doble cifrado de datos y soportar el desbloqueo de los directorios de usuario utilizando tokens de seguridad FIOD2.
Continuamos, ahora sí, con la parte “polémica” de este lanzamiento, las contribuciones relacionadas con Microsoft. Por un lado, el propio gigante de Redmond ha introducido un cambio que permitirá exponer parte de la información de la máquina anfitriona a los contenedores, mientras que por otro systemd-cryptsetup puede a partir de la versión del init que nos ocupa activar volúmenes de Microsoft BitLocker durante el arranque.
¿Qué más hay en systemd 246? Pues nos encontramos con cosas como el nuevo comando systemd-xdg-autostart-generator para generar archivos de unidad de systemd a partir de ficheros de inicio automático XDG con extensión ‘.desktop’, que también puede “ser usado para permitir que la instancia de usuario systemd administre servicios que son inciados automáticamente como parte de la sesión de escritorio”. A partir de este lanzamiento el nombre del host (hostname) puede ser establecido en el momento del arranque con la opción del kernel ‘systemd.hostname=’ y hay nuevas opciones para la línea de comandos del kernel como ‘systemd.swap=’ para alternar en caso de que la SWAP esté habilitada y ‘systemd.clock-usec=’ para especificar el tiempo de Unix en el arranque.
systemd-networkd ha recibido algunas mejoras, al igual que systemd-resolved, que ahora tiene validación de SNI para el soporte de DNS-over-TLS. Para terminar, otras novedades destacadas son la posibilidad de avisar de los procesos que quedan en una unidad después de que esa unidad se haya detenido, soporte básico para el congelador de cgroup v2 y PID1 puede cargar automáticamente las políticas de AppArmor precompiladas durante el arranque temprano.
El init suele ser un componente un tanto ajeno para el usuario común, que lo ve simplemente como un medio para hacer funcionar el sistema operativo. Así que la llegada de systemd 246 no es algo que importe a la mayoría, salvo ciertos usuarios avanzados, administradores de sistema y a aquellos con “versionitis”. Ya se sabe, una rolling como Arch Linux es la vía más sencilla para hacer uso de él si no se quiere pasar por el tortuoso proceso de la compilación.