systemd

systemd 251 ya está entre nosotros para continuar con la evolución de esta “suite de bloques básicos de construcción para un sistema Linux”, que también es definida como un gestor de sistema o un framework de sistema dependiendo de donde se mire. En esta ocasión nos encontramos con algunas novedades importantes que en un futuro pueden suponer cambios importantes, así que vamos con ellas.

En primer lugar tenemos que la versión predeterminada de C ha sido cambiada de C89 a C11 con las extensiones de GNU (GNU11), si bien las cabeceras de la API se mantienen todavía limitadas a la versión más antigua (que es la 89). Este cambio podría motivarse en seguir la estela del kernel Linux, un proyecto que también se ha planteado la migración a C11 debido a las limitaciones que está presentando C89. Algunos dirán que el verdadero futuro es Rust, pero aquí nos estaríamos poniendo demasiado proféticos.

De manera experimental ha sido incorporado el componente ‘systemd-sysupdate’, el cual es un trabajo iniciado el pasado verano por Red Hat y el núcleo duro de desarrolladores de systemd. Se trata de un mecanismo capaz (o al menos se tiene la intención de ser capaz) de descubrir, descargar e instalar actualizaciones automáticamente para las instalaciones del sistema anfitrión, de imágenes de contenedor, imágenes de servicios portables y otros componentes.

Todos los kernels soportados mezclarán a partir de systemd 251 la salida de la instrucción de RdRand (u otras extensiones ISA de aleatorización del procesador) en el inicio temprano, cosa que ha traído dos consecuencias. La primera es que, incluso si ‘/dev/urandom’ no es inicializado, todavía sería capaz de devolver bytes de al menos la misma calidad que empleando RdRand directamente. La segunda, que systemd ya no necesita invocar RdRand directamente, más viendo que el uso de RdRand por parte de systemd ha sido una fuente de errores.

Los generadores invocados por el PID 1 han incorporado diversas variables del entorno: $SYSTEMD_SCOPE, $SYSTEMD_IN_INITRD, $SYSTEMD_ARCHITECTURE, $SYSTEMD_FIRST_BOOT y $SYSTEMD_VIRTUALIZATION. Por otro lado, el mismo PID 1 recogerá automáticamente las credenciales del sistema desde la interfaz ‘fw_cfg’ de QEMU como un medio para pasar datos arbitrarios a los sistemas virtualizados, de forma similar a lo que se puede hacer con los contenedores de ‘systemd-nspawn’.

Continuando con más cosas de systemd 251, la herramienta ‘systemd-creds’ ha incluido ‘has-tpm2’ para indicar si hay disponible un módulo de TPM 2.0 en funcionamiento. Merece la pena recordar que TPM 2.0 está siendo uno de los principalesobstáculos para la expansión de Windows 11, aunque eso no quiere decir que los sistemas Linux que se apoyan en systemd vayan a requerirlo también, más viendo que la mayoría de los componentes del framework son opcionales.

Uno de los componentes estrella de systemd es ‘systemd-oomd’, que se encarga de mejorar la gestión de la RAM cuando esta empieza a escasear. En este lanzamiento, además de otras incorporaciones, permite que las unidades que ha eliminado tengan un servicio resultado de ‘oom-kill’. El número de veces que ha sido matado un servicio es contado en el atributo extendido ‘user.oomd_ooms’.

A nivel de udev se han incorporado dos ficheros. Uno lista dispositivos de mano como calculadoras y PDA, mientras que el otro lista dispositivos de producción audio y vídeo como tablas de DJ. Ambos deberían de ser accesibles de manera predeterminada por el usuario propietario.

Otros componentes menores de systemd 251 son más configuraciones de servicios que ahora pueden funcionar también como servicios de un usuario sin privilegios, el hecho de que los ficheros ‘.netdev’ permitan ahora ser usados en dispositivos WLAN virtuales y las mejoras introducidas en la especificación del gestor de arranque.

systemd 251 puede ser instalado a través del tortuoso proceso de compilación de su código fuente. Como vía alternativa se puede recurrir a alguna distribución rolling release y bleeding edge como Arch Linux, al que debería de llegar en cuestión de tiempo si no lo ha hecho ya. A pesar de todo, raras veces la actualización de este componente suele ser crítico, sobre todo en sistemas de escritorio en los que el usuario raras veces interacciona directamente con él. Los que quieran conocer todos los detalles pueden consultar la lista de cambios publicada en los lanzamientos de GitHub.

 

Fuente: muylinux

¿Quién está en línea?

Hay 26182 invitados y ningún miembro en línea