Lanzamiento del gestor de sistemas systemd 242

Después de dos meses de desarrollo, se presenta el lanzamiento del gestor de sistemas systemd 242. Entre las novedades se incluyen el soporte para túneles L2TP, la posibilidad de gestionar el comportamiento de systemd-logind al reiniciar a través de variables de entorno, el soporte para particiones de arranque extendidas XBOOTLDR para montar \/boot, la posibilidad de arrancar con la partición raíz en overlayfs, así como un gran número de nuevas configuraciones para diferentes tipos de unidades.

Principales cambios:

  • En systemd-networkd se ha añadido soporte para túneles L2TP;
  • En sd-boot y bootctl se ha implementado el soporte para particiones XBOOTLDR (Extended Boot Loader), destinadas a montarse en \/boot, además de las particiones ESP que se montan en \/efi o \/boot\/efi. Los núcleos, configuraciones, imágenes initrd y EFI ahora pueden arrancarse tanto desde particiones ESP como desde particiones XBOOTLDR. Este cambio permite utilizar el cargador de arranque sd-boot en escenarios más conservadores, donde el propio cargador de arranque se coloca en ESP y los núcleos a cargar y sus metadatos se trasladan a una partición separada;
  • Se ha añadido la posibilidad de arrancar pasando al núcleo la opción "systemd.volatile=overlay", lo que permite colocar la partición raíz en overlayfs y organizar el funcionamiento sobre una imagen de sistema de archivos raíz de solo lectura, registrando los cambios en un directorio separado en tmpfs (los cambios en esta configuración se pierden después del reinicio). De manera similar, se ha añadido a systemd-nspawn la opción "—volatile=overlay" para usar funcionalidad similar en contenedores;
  • Se ha añadido en systemd-nspawn la opción "—oci-bundle", que permite utilizar conjuntos de runtime para un arranque aislado de contenedores que cumplan con las especificaciones del Open Container Initiative (OCI). Para su uso en la línea de comandos y en unidades nspawn, se ha propuesto soporte para varias opciones descritas en la especificación OCI, por ejemplo, se pueden usar configuraciones "—inaccessible" y "Inaccessible" para excluir partes del sistema de archivos, y se han añadido las opciones "—console" y "—pipe" para configurar flujos de salida estándar;
  • Se ha añadido la posibilidad de gestionar el comportamiento de systemd-logind a través de variables de entorno: $SYSTEMD_REBOOT_ TO_FIRMWARE_SETUP,
    $SYSTEMD_REBOOT_ TO_BOOT_LOADER_MENU y
    $SYSTEMD_REBOOT_ TO_BOOT_LOADER_ENTRY. Con estas variables se pueden conectar controladores personalizados para el proceso de reinicio (\run\systemd\reboot-to-firmware-setup, \run\systemd\reboot-to-boot-loader-menu y
    /run/systemd/reboot-to-boot-loader-entry) или вообще отключить их (при выставлении значения в false);
  • Se han añadido las opciones "—boot-load-menu=" al comando "systemctl reboot".
    «—boot-loader-entry=», que permite seleccionar un ítem específico del menú de arranque o un modo de arranque después de reiniciar;
  • Se ha agregado un nuevo comando de aislamiento sandbox «RestrictSUIDSGID=», que utiliza seccomp para prohibir la creación de archivos con las banderas SUID/SGID;
  • Se asegura la aplicación por defecto de las restricciones «NoNewPrivileges» y «RestrictSUIDSGID» en los servicios con la función de generación dinámica de ID de usuario («DynamicUser») habilitada;
  • La configuración predeterminada en los archivos .link MACAddressPolicy=persistent se ha modificado para abarcar un mayor número de dispositivos. Las interfaces de puentes de red, túneles (tun, tap) y enlaces agregados (bond) no se identifican más que por el nombre de la interfaz de red, por lo que ahora se usa este nombre como base para la asociación de direcciones MAC e IPv4. Además, se ha añadido la configuración «MACAddressPolicy=random», que se puede utilizar para asociar direcciones MAC e IPv4 a dispositivos de manera aleatoria;
  • Los archivos de unidad «.device» generados a través de systemd-fstab-generator ya no incluyen las unidades «.mount» correspondientes como dependencias en la sección «Wants=». La simple conexión de un dispositivo ya no resulta en el inicio automático de la unidad de montaje, pero tales unidades aún pueden iniciarse por otras razones, como parte de local-fs.target o como dependencia de otras unidades dependientes de local-fs.target;
  • Los comandos «networkctl list/status/lldp» ahora incluyen soporte para máscaras («*» y similares) para filtrar ciertos grupos de interfaces de red según su nombre;
  • La variable de entorno $PIDFILE ahora se establece utilizando la ruta absoluta configurada en los servicios a través del parámetro «PIDFile=;
  • Se han añadido servidores DNS de respaldo públicos a la lista de servidores DNS utilizados si no se ha definido explícitamente un DNS principal; servidores Cloudflare (1.1.1.1). Para sobrescribir la lista de servidores DNS de respaldo, se puede utilizar la opción «-Ddns-servers=»;
  • Al detectar un controlador de dispositivo USB (USB Device Controller), se inicia automáticamente el nuevo manejador usb-gadget.target (cuando el sistema funciona en un dispositivo USB);
  • Para los archivos de unidad se ha implementado la configuración «CPUQuotaPeriodSec=», que define el período de tiempo en relación al cual se mide la cuota de tiempo de CPU, especificada a través de la configuración «CPUQuota=»;
  • Para los archivos unit se ha implementado la configuración «ProtectHostname=», que prohíbe a los servicios modificar la información del nombre del host, incluso si tienen los permisos adecuados;
  • Para los archivos unit se ha implementado la configuración «NetworkNamespacePath=», que permite vincular el espacio de nombres a los servicios o unidades socket mediante la especificación de la ruta al archivo del espacio de nombres en el pseudo-sistema de archivos /proc;
  • Se ha añadido la posibilidad de desactivar la sustitución de variables de entorno para los procesos iniciados mediante la configuración «ExecStart=», agregando el símbolo «:» antes del comando de inicio;
  • Para los temporizadores (unidades .timer) se han propuesto nuevas banderas «OnClockChange=» y
    «OnTimezoneChange=», con las cuales se puede gestionar la invocación de la unidad al cambiar la hora del sistema o la zona horaria;
  • Se han añadido nuevas configuraciones «ConditionMemory=» y «ConditionCPUs=», que definen las condiciones de invocación de la unidad en función del tamaño de la memoria y del número de núcleos de la CPU (por ejemplo, un servicio que consume muchos recursos solo se puede iniciar si hay suficiente RAM disponible);
  • Se ha añadido una nueva unidad time-set.target, que acepta la hora del sistema localmente establecida, sin utilizar la sincronización con servidores externos de hora precisa a través de la unidad time-sync.target. Esta nueva unidad puede ser utilizada por servicios que solo necesitan la precisión de relojes locales que no están sincronizados;
  • En «systemctl start» y comandos similares se ha añadido la opción «—show-transaction», que al especificarse muestra un resumen de todos los trabajos que se han añadido a la cola debido a la operación solicitada;
  • En systemd-networkd se ha implementado la definición de un nuevo estado ‘enslaved’, utilizado en lugar de ‘degraded’ o ‘carrier’ para las interfaces de red que forman parte de enlaces agregados o puentes de red. Para las interfaces primarias, en caso de problemas con uno de los enlaces compuestos, se ha añadido el estado ‘degraded-carrier’;
  • En las unidades .network se ha añadido la opción «IgnoreCarrierLoss=» para conservar la configuración de red en caso de pérdida de conexión;
  • A través de la configuración «RequiredForOnline=» en las unidades .network ahora se puede establecer el estado mínimo aceptable del enlace, necesario para cambiar la interfaz de red a «online» y activar el controlador systemd-networkd-wait-online;
  • En systemd-networkd-wait-online se ha añadido la opción «—any» para esperar la disponibilidad de cualquier de las interfaces de red especificadas en lugar de todas, así como la opción «—operational-state=» para definir el estado del enlace que indica disponibilidad;
  • En .network se han añadido las configuraciones «UseAutonomousPrefix=» y «UseOnLinkPrefix=», que se pueden utilizar para ignorar prefijos al recibir
    anuncios del enrutador IPv6 (RA, Router Advertisement);
  • En .network se han añadido las configuraciones «MulticastFlood=», «NeighborSuppression=» y «Learning=» para modificar los parámetros de funcionamiento del puente de red, así como la configuración «TripleSampling=» para cambiar el modo TRIPLE-SAMPLING de las interfaces virtuales CAN;
  • En .netdev se han añadido las configuraciones «PrivateKeyFile=» y «PresharedKeyFile=», mediante las cuales se pueden especificar las claves privada y compartida (PSK) para las interfaces WireGuard VPN;
  • En /etc/crypttab se han añadido las opciones same-cpu-crypt y submit-from-crypt-cpus, que gestionan el comportamiento del programador al migrar entre núcleos de CPU en tareas relacionadas con la encriptación;
  • En systemd-tmpfiles se garantiza el manejo del archivo de bloqueo antes de realizar operaciones en directorios con archivos temporales, lo que permite desactivar temporalmente el borrado de archivos obsoletos (por ejemplo, al descomprimir un archivo tar en /tmp pueden aparecer archivos muy antiguos que no se pueden eliminar hasta que se complete la operación con ellos);
  • En el comando «systemd-analyze cat-config» se ha mejorado la posibilidad de analizar configuraciones distribuidas en varios archivos, como configuraciones predeterminadas de usuario y sistema, contenido de tmpfiles.d y sysusers.d, reglas de udev, etc.
  • En «journalctl» se ha añadido la opción «—cursor-file=» para especificar un archivo para cargar y guardar el puntero de posición;
  • En systemd-detect-virt se ha añadido la detección del hipervisor ACRN y del subsistema WSL (Windows Subsystem for Linux) para posterior ramificación mediante el operador condicional «ConditionVirtualization»;
  • Durante la instalación de systemd (al ejecutar «ninja install») se ha interrumpido la creación de enlaces simbólicos en el directorio /etc para los archivos systemd-networkd.service, systemd-networkd.socket,
    systemd-resolved.service, remote-cryptsetup.target, remote-fs.target,
    systemd-networkd-wait-online.service y systemd-timesyncd.service. Para crear estos archivos ahora es necesario ejecutar el comando «systemctl preset-all».

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster