Después de cinco meses de desarrollo lanzamiento del gestor de sistemas . En esta nueva versión se ha implementado el soporte para la congelación de unidades, la verificación de la imagen del disco raíz mediante firma digital, soporte para la compresión de registros y volcado de núcleo utilizando el algoritmo ZSTD, la posibilidad de desbloquear directorios personales portátiles mediante tokens FIDO2, y el soporte para desbloquear particiones de Microsoft BitLocker a través de /etc/crypttab. Se ha realizado el cambio de nombre de BlackList a DenyList.
Principales :
- Se ha añadido soporte para el controlador de recursos freezer basado en cgroups v2, que permite detener procesos y liberar temporalmente algunos recursos (CPU, entrada/salida y potencialmente incluso memoria) para realizar otras tareas. La gestión de la congelación y descongelación de unidades se lleva a cabo a través del nuevo comando «systemctl freeze» o mediante D-Bus.
- Se ha añadido soporte para la verificación de la imagen del disco raíz mediante firma digital. La verificación se realiza mediante nuevas configuraciones en las unidades de servicio: RootHash (hash raíz para la verificación de la imagen del disco, indicado a través de la opción RootImage) y RootHashSignature (firma digital en formato PKCS#7 para el hash raíz).
- En el manejador PID 1 se ha implementado la posibilidad de cargar automáticamente reglas de AppArmor precompiladas (/etc/apparmor/earlypolicy) en la etapa inicial de arranque.
- Se han añadido nuevas configuraciones para los archivos de unidad: ConditionPathIsEncrypted y AssertPathIsEncrypted para verificar la ubicación del camino especificado en un dispositivo de bloque que utiliza cifrado (dm-crypt/LUKS), ConditionEnvironment y AssertEnvironment para verificar variables de entorno (por ejemplo, establecidas por PAM o al configurar contenedores).
- Para las unidades *.mount se ha implementado la configuración ReadWriteOnly, que prohíbe montar la partición en modo de solo lectura si no se pudo montar en modo lectura y escritura. En /etc/fstab, este modo se configura mediante la opción «x-systemd.rw-only».
- Para las unidades *.socket se ha añadido la configuración PassPacketInfo, que incluye la adición de metadatos adicionales por parte del núcleo para cada paquete leído del socket (incluye los modos IP_PKTINFO, IPV6_RECVPKTINFO y NETLINK_PKTINFO para el socket).
- Para los servicios (unidades *.service) se han propuesto configuraciones CoredumpFilter (que determina las secciones de memoria que se deben incluir en los volcado de núcleo) y
TimeoutStartFailureMode/TimeoutStopFailureMode (que determina el comportamiento (SIGTERM, SIGABRT o SIGKILL) al alcanzar el tiempo de espera al iniciar o detener un servicio). - La mayoría de las opciones ahora incluyen soporte para especificar valores hexadecimales precedidos del prefijo '0x'.
- En varios parámetros de la línea de comandos y archivos de configuración relacionados con la configuración de claves o certificados, se ha implementado la posibilidad de especificar la ruta a los sockets Unix (AF_UNIX) para la transferencia de claves y certificados a través de las llamadas a servicios IPC, cuando no se desea almacenar certificados en almacenamiento en disco no cifrado.
- Se ha agregado soporte para seis nuevos especificadores que se pueden usar en unit, tmpfiles.d/, sysusers.d/ y otros archivos de configuración: %a para la arquitectura actual, %o/%w/%B/%W para campos de identificación de /etc/os-release, y %l para el nombre corto del host.
- En los archivos de unit, se ha dejado de admitir la sintaxis '.include', que fue declarada obsoleta hace 6 años.
- En las configuraciones de StandardError y StandardOutput se ha dejado de admitir los valores 'syslog' y 'syslog-console', que se convertirán automáticamente en 'journal' y 'journal+console'.
- Para los puntos de montaje creados automáticamente basados en tmpfs (/tmp, /run, /dev/shm, etc.), se han establecido límites de tamaño y número de inodos, correspondiente al 50% del tamaño de la RAM para /tmp y /dev/shm, y al 10% de la RAM para todos los demás.
- Se han agregado nuevos parámetros de línea de comandos al núcleo: systemd.hostname para establecer el nombre del host en la fase inicial de arranque, udev.blockdev_read_only para restringir todos los dispositivos de bloque relacionados con los discos físicos a modo solo lectura (para una anulación selectiva, se puede usar el comando 'blockdev —setrw'), systemd.swap para desactivar la activación automática de la partición de intercambio, systemd.clock-usec para establecer el reloj del sistema en microsegundos, systemd.condition-needs-update y systemd.condition-first-boot para anular las comprobaciones ConditionNeedsUpdate y ConditionFirstBoot.
- Por defecto, se asegura que sysctl fs.suid_dumpable esté configurado en 2 ('suidsafe'), lo que permite la creación de volcados de memoria para procesos con el flag suid.
- En la base de datos de hardware de ChromiumOS se ha tomado el archivo /usr/lib/udev/hwdb.d/60-autosuspend.hwdb, que incluye información sobre dispositivos PCI y USB que soportan la suspensión automática.
- Se ha añadido la configuración ManageForeignRoutes en networkd.conf, que, al habilitarse, hará que systemd-networkd gestione todas las rutas establecidas por otras utilidades.
- Se ha añadido la sección «[SR-IOV]» en los archivos .network para configurar dispositivos de red que soportan SR-IOV (Virtualización de Entrada/Salida de Raíz Única).
- En systemd-networkd, se ha agregado la configuración IPv4AcceptLocal en la sección «[Network]» para permitir la recepción de paquetes en la interfaz de red que provienen de una dirección de origen local.
- En systemd-networkd, se ha añadido la posibilidad de configurar las disciplinas de priorización de tráfico HTB a través de las secciones [HierarchyTokenBucket] y
[HierarchyTokenBucketClass], «pfifo» a través de [PFIFO], «GRED» a través de [GenericRandomEarlyDetection], «SFB» a través de [StochasticFairBlue], «cake»
a través de [CAKE], «PIE» a través de [PIE], «DRR» a través de [DeficitRoundRobinScheduler] y
[DeficitRoundRobinSchedulerClass], «BFIFO» a través de [BFIFO],
«PFIFOHeadDrop» a través de [PFIFOHeadDrop], «PFIFOFast» a través de [PFIFOFast], «HHF»
a través de [HeavyHitterFilter], «ETS» a través de [EnhancedTransmissionSelection],
«QFQ» a través de [QuickFairQueueing] y [QuickFairQueueingClass]. - En systemd-networkd, se ha añadido la configuración UseGateway en la sección [DHCPv4] para desactivar el uso de la información del gateway obtenida a través de DHCP.
- En systemd-networkd, se ha añadido la configuración SendVendorOption en las secciones [DHCPv4] y [DHCPServer] para establecer y gestionar opciones adicionales del fabricante.
- En systemd-networkd, se ha implementado un nuevo conjunto de opciones en la sección [DHCPServer] EmitPOP3/POP3, EmitSMTP/SMTP y EmitLPR/LPR para añadir información sobre los servidores POP3, SMTP y LPR.
- En systemd-networkd, en los archivos .netdev, se ha añadido la configuración VLANProtocol en la sección [Bridge] para seleccionar el protocolo VLAN utilizado.
- En systemd-networkd, en los archivos .network, se ha implementado la configuración Group en la sección [Link] para gestionar un grupo de enlaces.
- Las configuraciones BlackList han sido renombradas a DenyList (se ha mantenido la compatibilidad hacia atrás, preservando el manejo del antiguo nombre).
- En systemd-networkd, se ha añadido una gran cantidad de configuraciones relacionadas con IPv6 y DHCPv6.
- En networkctl, se ha añadido el comando «forcerenew» para forzar la renovación de todas las vinculaciones de direcciones (lease).
- En systemd-resolved, en la configuración de DNS, se ha añadido la posibilidad de especificar el número de puerto y el nombre del host para la verificación del certificado DNS-over-TLS. En la implementación de DNS-over-TLS se ha añadido soporte para la verificación de SNI.
- En systemd-resolved, se ha añadido la posibilidad de configurar la redirección de nombres DNS de un solo componente (single-label, de un solo nombre de host).
- En systemd-journald, se ha asegurado el soporte para aplicar el algoritmo zstd para comprimir campos grandes en los registros. Se ha trabajado en protegerse contra colisiones en las tablas hash utilizadas en los registros.
- En journalctl, se han añadido URL clicables con enlaces a la documentación al mostrar los mensajes del registro.
- En journald.conf se añadió la configuración de Audit para gestionar la activación de la auditoría durante la inicialización de systemd-journald.
- En systemd-coredump se ha añadido la opción de compresión de los core dumps utilizando el algoritmo zstd.
- En systemd-repart se añadió la configuración de UUID para asignar un UUID a la partición creada.
- En el servicio systemd-homed, que gestiona los directorios personales portátiles, se añadió la posibilidad de desbloquear los directorios personales utilizando tokens FIDO2. En el backend de cifrado de particiones LUKS se añadió soporte para la restauración automática de bloques vacíos del sistema de archivos al finalizar la sesión. Se añadió protección contra el cifrado doble de datos si se determina que ya se está aplicando cifrado en la partición /home del sistema.
- En /etc/crypttab se añadieron las configuraciones: «keyfile-erase» para eliminar la clave después de su uso y «try-empty-password» para intentar desbloquear la partición con una contraseña vacía antes de solicitar una contraseña al usuario (útil para instalar imágenes cifradas con designación de contraseña tras el primer arranque, en lugar de durante la instalación).
- En systemd-cryptsetup durante el arranque se implementó el soporte para desbloquear particiones de Microsoft BitLocker mediante /etc/crypttab. También se añadió la posibilidad de leer
claves para el desbloqueo automático de particiones desde los archivos /etc/cryptsetup-keys.d/.key y /run/cryptsetup-keys.d/.key. - Se añadió el generador systemd-xdg-autostart-generator para crear archivos unit desde archivos de autocomienzo .desktop.
- En «bootctl» se añadió el comando «reboot-to-firmware».
- En systemd-firstboot se añadieron las opciones: «—image» para especificar un disco de imagen para el arranque, «—kernel-command-line» para inicializar el archivo /etc/kernel/cmdline, «—root-password-hashed» para establecer el hash de la contraseña de root y «—delete-root-password» para eliminar la contraseña de root.
Fuente: opennet.ru
