Después de tres meses de desarrollo lanzamiento del gestor de sistemas . En la nueva versión se han añadido nuevos componentes systemd-homed y systemd-repart, se ha incluido soporte para perfiles de usuario portátiles en formato JSON, se ha permitido la definición de espacios de nombres en systemd-journald, y se ha añadido soporte para el mecanismo «pidfd». Totalmente rediseñado , en el que se ha recopilado la mayor parte de la documentación disponible y se ha propuesto un nuevo logotipo.

Principales :
- Se ha añadido un servicio , que proporciona la gestión de directorios personales portátiles, entregados en forma de imagen de archivo montable, cuyos datos están cifrados. Systemd-homed permite crear entornos autosuficientes para los datos del usuario, que se pueden transferir entre diferentes sistemas, sin preocuparse por la sincronización de identificadores y la privacidad. Los parámetros de las credenciales del usuario están vinculados al directorio personal, en lugar de a la configuración del sistema: en lugar de /etc/passwd, /etc/group y /etc/shadow se utiliza un perfil en formato . Para más información, consulte systemd-homed.
- Se ha añadido el componente complementario de systemd-homed «» («systemd-userdb»), que traduce cuentas UNIX/glibc NSS a registros JSON y proporciona una API Varlink unificada para consultar y recorrer registros. En el perfil JSON vinculado al directorio personal se especifican los parámetros necesarios para el funcionamiento del usuario, incluyendo datos sobre el nombre, el hash de la contraseña, las claves de cifrado, las cuotas y los recursos proporcionados. El perfil puede ser firmado digitalmente, almacenado en un token externo Yubikey. Para gestionar los perfiles se ha propuesto la herramienta «userdbctl». El soporte para perfiles en formato JSON se ha añadido a varios componentes de systemd, incluyendo systemd-logind y pam-systemd, que permiten a los usuarios de directorios portátiles organizar la autenticación, el inicio de sesión, la configuración de variables de entorno, la creación de sesiones, la instalación de límites, etc. Se espera que en el futuro se introduzca la posibilidad de generar perfiles JSON mediante el marco sssd, almacenando la configuración de los usuarios en LDAP.
- Se ha añadido una nueva utilidad llamada «systemd-repart», diseñada para redistribuir las tablas de particiones de disco en formato GPT. La estructura de las particiones se define de forma declarativa a través de archivos que describen qué particiones deben o pueden existir. En cada arranque, la tabla de particiones real se compara con estos archivos, tras lo cual se añaden las particiones faltantes o, si el tamaño relativo o absoluto especificado en la configuración no coincide, se incrementa el tamaño de las existentes. Solo se permiten cambios incrementales, es decir, no es posible eliminar ni reducir el tamaño, las particiones solo pueden ser añadidas y ampliadas.
La utilidad está principalmente diseñada para ejecutarse desde initrd y determina automáticamente el disco donde se encuentra la partición raíz, lo que no requiere configuración adicional más allá de los archivos que definen los cambios.En la práctica, systemd-repart puede ser útil para imágenes de sistema operativo que inicialmente pueden ser entregadas en una forma mínima, y que después del primer arranque se expanden al tamaño del dispositivo de bloque existente o se complementan con particiones adicionales (por ejemplo, la partición raíz puede ampliarse para abarcar todo el disco o, tras el primer arranque, puede crearse una partición de intercambio o /home). Otra aplicación podría ser configuraciones con dos particiones que se alternan entre sí; inicialmente podría entregarse solo la primera partición, y la segunda crearse en el primer arranque.
- Se ha añadido la posibilidad de ejecutar múltiples instancias de systemd-journald, cada una de las cuales mantiene registros en su propio espacio de nombres. Además del servicio principal systemd-journald.service, se ha propuesto un modelo en el directorio .service para crear instancias adicionales vinculadas a sus propios espacios de nombres mediante la directiva «LogNamespace». Cada espacio de nombres de registro es gestionado por un proceso en segundo plano separado con su propio conjunto de configuraciones y límites. Esta funcionalidad puede ser útil para equilibrar la carga ante un gran volumen de registros o para aumentar la aislamiento de las aplicaciones. Se ha añadido una opción en journalctl, «—namespace», que restringe la consulta solo al espacio de nombres indicado.
- En systemd-udevd y otros componentes de systemd se ha añadido soporte para un mecanismo que asigna nombres alternativos a las interfaces de red, permitiendo aplicar varias denominaciones a una única interfaz simultáneamente. El tamaño del nombre puede alcanzar los 128 caracteres (anteriormente, el nombre de la interfaz de red estaba limitado a 16 caracteres). Por defecto, systemd-udevd asigna ahora a cada interfaz de red todas las variantes de nombres generadas por los esquemas de nomenclatura soportados. Este comportamiento puede modificarse a través de las nuevas configuraciones AlternativeName y AlternativeNamesPolicy en los archivos .link. En systemd-nspawn se ha implementado la generación de nombres alternativos con el nombre completo del contenedor para los enlaces veth creados en el lado del host.
- En la API sd-event.h se ha añadido soporte para la subsistema del núcleo de Linux "pidfd" para manejar la situación de reutilización de PID (pidfd se asocia con un proceso específico y no cambia, mientras que el PID puede ser vinculado a otro proceso tras la finalización del proceso actual asociado con ese PID). Todos los componentes de systemd, a excepción del PID 1, se han convertido para utilizar pidfds, si esta subsistema es soportada por el núcleo actual.
- En systemd-logind, a través de PolicyKit, se ha implementado una comprobación de acceso a la operación de cambio de terminal virtual. Por defecto, los permisos para cambiar el terminal activo se conceden solo a los usuarios que han iniciado al menos una vez una sesión en el terminal virtual local.
- Para simplificar la creación de imágenes initrd con systemd, el manejador PID 1 ahora detecta el uso en initrd y en este caso carga automáticamente initrd.target en lugar de default.target. Con este enfoque, las imágenes initrd y del sistema principal pueden diferir solo por la presencia del archivo /etc/initrd-release.
- Se ha añadido un nuevo parámetro de línea de comandos del núcleo: "systemd.cpu_affinity", que es equivalente a la opción CPUAffinity en /etc/systemd/system.conf y permite configurar la máscara de afinidad a CPU para PID 1 y otros procesos.
- Se ha garantizado la recarga de la base de SELinux junto con el reinicio de PID 1 a través de comandos como "systemctl daemon-reload".
- En el manejador PID 1 se ha añadido la configuración "systemd.show-status=error", al establecer la cual solo se muestran en la consola los mensajes de error y las demoras significativas durante el arranque.
- En systemd-sysusers se ha añadido soporte para crear usuarios con un nombre de grupo principal que difiere del nombre de usuario.
- En systemd-growfs, a través de la opción de montaje x-systemd.growfs en /etc/fstab, se ha implementado el soporte para la expansión de particiones XFS, además de la expansión previamente soportada de particiones Ext4 y Btrfs.
- En /etc/crypttab se ha añadido la opción x-initrd.attach para identificar la partición cifrada que ya ha sido desbloqueada en la fase initrd.
- En systemd-cryptsetup se ha añadido soporte (opción pkcs11-uri en /etc/crypttab) para desbloquear particiones cifradas utilizando tarjetas inteligentes PKCS#11, por ejemplo, para vincular el cifrado de particiones a llaveros YubiKeys.
- En /etc/fstab se han añadido nuevas opciones de montaje 'x-systemd.required-by' y 'x-systemd.wanted-by' para configurar explícitamente las unidades que definen las operaciones de montaje, invocadas en lugar de local-fs.target y remote-fs.target.
- Se ha añadido una nueva opción de aislamiento sandbox de servicios — ProtectClock, que limita la escritura en el reloj del sistema (el acceso se bloquea a nivel de /dev/rtc, llamadas al sistema y permisos CAP_SYS_TIME/CAP_WAKE_ALARM).
- En la especificación y en systemd-gpt-auto-generator se ha incluido la definición de particiones.
/var и /var/tmp. - En 'systemctl list-unit-files', al mostrar la lista de unidades se ha añadido una nueva columna que refleja el estado de habilitación, propuesto en las configuraciones por defecto del fabricante para ese tipo de unidades.
- En 'systemctl' se ha añadido la opción '--with-dependencies', al activarla, comandos como 'systemctl status' y 'systemctl cat' mostrarán no solo todas las unidades correspondientes, sino también las unidades de las que dependen.
- En systemd-networkd, en la configuración de qdisc, se ha añadido la posibilidad de configurar los parámetros TBF (Token Bucket Filter), SFQ (Stochastic Fairness Queuing), CoDel (Controlled-Delay Active Queue Management) y FQ (Fair Queue).
- En systemd-networkd se ha añadido soporte para dispositivos de red IFB ().
- En systemd-networkd, en la sección [Route], se ha implementado el parámetro MultiPathRoute para configurar rutas de múltiples caminos.
- En systemd-networkd, para el cliente DHCPv4 se ha añadido la opción SendDecline, que al especificarse provoca que, tras recibir una respuesta DHCP con una dirección, se realice una verificación de duplicación de dirección y en caso de conflicto se rechace la dirección asignada. También se ha añadido la opción RouteMTUBytes para el cliente DHCPv4, que permite definir el tamaño MTU para las rutas generadas a partir de las asignaciones de direcciones IP (leases).
- La configuración PrefixRoute en la sección '[Address]' de los archivos '.network' se ha declarado obsoleta. En su lugar, se ha introducido la configuración 'AddPrefixRoute', que tiene un significado inverso.
- En los archivos .network se ha añadido la compatibilidad con el nuevo valor «_dhcp» en la configuración de Gateway de la sección «[Route]», con el cual se selecciona la ruta estática en función de la puerta de enlace configurada a través de DHCP.
- En los archivos .network, se han introducido configuraciones en la sección «[RoutingPolicyRule]»
User y SuppressPrefixLength para establecer el enrutamiento de origen (source routing) basado en rangos UID y el tamaño del prefijo. - En networkctl, el comando «status» ahora permite mostrar los registros en relación con cada interfaz de red.
- En systemd-networkd-wait-online se ha añadido la capacidad de especificar el tiempo máximo de espera para la transición de la interfaz a estado operativo y para esperar la desaparición de la interfaz.
- Se ha detenido el procesamiento de archivos .link y .network con secciones «[Match]» vacías o comentadas.
- En los archivos .link y .network, la sección «[Match]» ahora incluye la configuración «PermanentMACAddress» para verificar la dirección MAC permanente de los dispositivos en caso de usar una MAC aleatoria generada.
- La sección «[TrafficControlQueueingDiscipline]» en los archivos .network se ha renombrado a «[NetworkEmulator]», y se ha eliminado el prefijo «NetworkEmulator» de los nombres de las configuraciones relacionadas.
- En systemd-resolved se ha añadido soporte para la verificación SNI en DNS-over-TLS.
Fuente: opennet.ru
