Systemd System Manager versión 242

[:ru]

Despois de dous meses de desenvolvemento presentado versión do administrador do sistema systemd 242. Entre as novidades, podemos destacar o soporte para túneles L2TP, a capacidade de controlar o comportamento de systemd-logind ao reiniciar a través de variables de ambiente, soporte para particións de arranque XBOOTLDR estendidas para montar /boot, a capacidade de arrincar cunha partición raíz en superposicións, así como unha gran cantidade de novas configuracións para diferentes tipos de unidades.

Principais cambios:

  • systemd-networkd ofrece soporte para túneles L2TP;
  • sd-boot e bootctl ofrecen soporte para as particións XBOOTLDR (Extended Boot Loader) deseñadas para ser montadas en /boot, ademais das particións ESP montadas en /efi ou /boot/efi. Os núcleos, a configuración, as imaxes initrd e EFI agora pódense iniciar desde as particións ESP e XBOOTLDR. Este cambio permítelle usar o cargador de arranque sd-boot en escenarios máis conservadores, cando o propio cargador de arranque está situado no ESP e os núcleos cargados e os metadatos asociados colócanse nunha sección separada;
  • Engadida a posibilidade de arrincar coa opción "systemd.volatile=overlay" pasada ao núcleo, que lle permite colocar a partición raíz en overlayfs e organizar o traballo encima dunha imaxe de só lectura do directorio raíz con cambios escritos nun directorio separado en tmpfs (os cambios nesta configuración pérdense despois dun reinicio) . Por analoxía, systemd-nspawn engadiu a opción "--volatile=overlay" para usar unha funcionalidade similar nos contedores;
  • systemd-nspawn engadiu a opción "--oci-bundle" para permitir o uso de paquetes en tempo de execución para proporcionar o lanzamento illado de contedores que cumpran coa especificación Open Container Initiative (OCI). Para o seu uso na liña de comandos e unidades nspawn, proponse compatibilidade con varias opcións descritas na especificación OCI, por exemplo, as opcións "--inaccessible" e "Inaccessible" poden usarse para excluír partes do sistema de ficheiros, e o " Engadíronse opcións --console para configurar fluxos de saída estándar e "-pipe";
  • Engadida a capacidade de controlar o comportamento de systemd-logind mediante variables de ambiente: $SYSTEMD_REBOOT_ TO_FIRMWARE_SETUP,
    $SYSTEMD_REBOOT_TO_BOOT_LOADER_MENU e
    $SYSTEMD_REBOOT_ TO_BOOT_LOADER_ENTRY. Usando estas variables, pode conectar os seus propios controladores de proceso de reinicio (/run/systemd/reboot-to-firmware-setup, /run/systemd/reboot-to-boot-loader-menu e
    /run/systemd/reboot-to-boot-loader-entry) ou desactívaos por completo (se o valor está definido como falso);

  • Opcións engadidas "-boot-load-menu=" e
    “—boot-loader-entry=”, que lle permite seleccionar un elemento específico do menú de arranque ou un modo de arranque despois dun reinicio;

  • Engadiuse un novo comando de illamento de sandbox "RestrictSUIDSGID=", que usa seccomp para prohibir a creación de ficheiros con marcas SUID/SGID;
  • Asegurouse de que as restricións "NoNewPrivileges" e "RestrictSUIDSGID" aplícanse por defecto nos servizos co modo de xeración de ID de usuario dinámico ("DynamicUser" activado);
  • A configuración predeterminada MACAddressPolicy=persistente nos ficheiros .link foi modificada para cubrir máis dispositivos. As interfaces de pontes de rede, túneles (tun, tap) e ligazóns agregadas (bond) non se identifican a si mesmas, excepto polo nome da interface de rede, polo que este nome úsase agora como base para vincular enderezos MAC e IPv4. Ademais, engadiuse a configuración "MACAddressPolicy=aleatoria", que se pode usar para vincular enderezos MAC e IPv4 aos dispositivos nunha orde aleatoria;
  • Os ficheiros de unidades ".device" xerados mediante systemd-fstab-generator xa non inclúen as unidades ".mount" correspondentes como dependencias na sección "Wants=". Simplemente conectar un dispositivo xa non inicia automaticamente unha unidade para montar, pero tales unidades aínda se poden lanzar por outros motivos, como como parte de local-fs.target ou como dependencia doutras unidades que dependen de local-fs.target. ;
  • Engadido soporte para máscaras ("*", etc.) aos comandos "networkctl list/status/lldp" para filtrar certos grupos de interfaces de rede por parte do seu nome;
  • A variable de ambiente $PIDFILE agora establécese usando a ruta absoluta configurada nos servizos mediante o parámetro "PIDFile=;".
  • Engadíronse servidores públicos Cloudflare (1.1.1.1) ao número de servidores DNS de copia de seguridade utilizados se o DNS principal non está definido explícitamente. Para redefinir a lista de servidores DNS de copia de seguridade, pode usar a opción "-Ddns-servers=";
  • Cando se detecta a presenza dun controlador de dispositivo USB, lánzase automaticamente un novo controlador usb-gadget.target (cando o sistema se está a executar nun dispositivo periférico USB);
  • Para os ficheiros de unidade, implementouse a configuración "CPUQuotaPeriodSec=", que determina o período de tempo en relación co cal se mide a cota de tempo da CPU, definida mediante a configuración "CPUQuota=";
  • Para os ficheiros da unidade, implementouse a configuración "ProtectHostname=", que prohibe aos servizos cambiar a información sobre o nome do servidor, aínda que teñan os permisos adecuados;
  • Para os ficheiros de unidades, implementouse a configuración "NetworkNamespacePath=", que lle permite vincular un espazo de nomes a servizos ou unidades de socket especificando a ruta do ficheiro de espazo de nomes no pseudo-FS /proc;
  • Engadiuse a posibilidade de desactivar a substitución de variables de ambiente para os procesos iniciados mediante a configuración "ExecStart=", engadindo un carácter ":" antes do comando de inicio;
  • Para os temporizadores (unidades .timer) novas bandeiras "OnClockChange=" e
    “OnTimezoneChange=”, co que pode controlar a chamada da unidade cando cambia a hora do sistema ou a zona horaria;

  • Engadíronse novos axustes "ConditionMemory=" e "ConditionCPUs=", que determinan as condicións para chamar a unha unidade en función do tamaño da memoria e do número de núcleos de CPU (por exemplo, un servizo intensivo en recursos só se pode iniciar se a cantidade necesaria de RAM dispoñible);
  • Engadiuse unha nova unidade time-set.target que acepta a hora do sistema establecida localmente, sen utilizar a reconciliación con servidores de tempo externos mediante a unidade time-sync.target. A nova unidade pode ser utilizada por servizos que precisan da precisión dos reloxos locais non sincronizados;
  • A opción "--show-transaction" engadiuse a "systemctl start" e comandos similares, cando se especifica, móstrase un resumo de todos os traballos engadidos á cola debido á operación solicitada;
  • systemd-networkd implementa a definición dun novo estado "escravo", usado en lugar de "degradado" ou "portador" para interfaces de rede que forman parte de enlaces agregados ou pontes de rede. Para as interfaces primarias, en caso de problemas cunha das ligazóns compostas, engadiuse o estado "portador degradado";
  • Engadida a opción "IgnoreCarrierLoss="" ás unidades .network para gardar a configuración da rede en caso de perda de conexión;
  • A través da configuración "RequiredForOnline=" en unidades .network, agora pode establecer o estado de ligazón mínimo aceptable necesario para transferir a interface de rede a "en liña" e activar o controlador systemd-networkd-wait-online;
  • Engadiuse a opción "--any" a systemd-networkd-wait-online para agardar a preparación de calquera das interfaces de rede especificadas en lugar de todas, así como a opción "--operational-state=" para determinar o estado de a ligazón que indica a preparación;
  • Engadíronse os axustes "UseAutonomousPrefix=" e "UseOnLinkPrefix="" ás unidades .network, que se poden usar para ignorar os prefixos ao recibir
    anuncio dun enrutador IPv6 (RA, anuncio do enrutador);

  • Nas unidades .network, engadíronse os axustes “MulticastFlood=”, “NeighborSuppression=" e “Learning=" para cambiar os parámetros de funcionamento da ponte de rede, así como a configuración “TripleSampling=" para cambiar o modo TRIPLE-SAMPLING de interfaces virtuais CAN;
  • Engadíronse a configuración "PrivateKeyFile=" e "PresharedKeyFile="" ás unidades .netdev, coas que pode especificar claves privadas e compartidas (PSK) para interfaces WireGuard VPN;
  • Engadíronse as opcións same-cpu-crypt e submit-from-crypt-cpus a /etc/crypttab, que controlan o comportamento do planificador ao migrar o traballo relacionado co cifrado entre núcleos da CPU;
  • systemd-tmpfiles proporciona o procesamento de ficheiros de bloqueo antes de realizar operacións en directorios con ficheiros temporais, o que lle permite desactivar o traballo na limpeza de ficheiros desactualizados durante determinadas accións (por exemplo, ao desempaquetar un arquivo tar en /tmp, os ficheiros moi antigos poden ser abertas que non se poden eliminar antes do final da acción con eles);
  • O comando "systemd-analyze cat-config" ofrece a posibilidade de analizar unha configuración dividida en varios ficheiros, por exemplo, axustes preestablecidos do usuario e do sistema, o contido de tmpfiles.d e sysusers.d, regras udev, etc.
  • Engadida a opción "--cursor-file=" a "journalctl" para especificar un ficheiro para cargar e gardar o cursor de posición;
  • Engadiuse a definición do hipervisor ACRN e do subsistema WSL (Subsistema de Windows para Linux) a systemd-detect-virt para a ramificación posterior mediante o operador condicional "ConditionVirtualization";
  • Durante a instalación de systemd (ao executar "ninja install"), a creación de ligazóns simbólicas aos ficheiros systemd-networkd.service, systemd-networkd.socket,
    systemd-resolved.service, remote-cryptsetup.target, remote-fs.target,
    systemd-networkd-wait-online.service e systemd-timesyncd.service. Para crear estes ficheiros, agora cómpre executar o comando "systemctl preset-all".

Orixeopennet.ru

[: gl]

Despois de dous meses de desenvolvemento presentado versión do administrador do sistema systemd 242. Entre as novidades, podemos destacar o soporte para túneles L2TP, a capacidade de controlar o comportamento de systemd-logind ao reiniciar a través de variables de ambiente, soporte para particións de arranque XBOOTLDR estendidas para montar /boot, a capacidade de arrincar cunha partición raíz en superposicións, así como unha gran cantidade de novas configuracións para diferentes tipos de unidades.

Principais cambios:

  • systemd-networkd ofrece soporte para túneles L2TP;
  • sd-boot e bootctl ofrecen soporte para as particións XBOOTLDR (Extended Boot Loader) deseñadas para ser montadas en /boot, ademais das particións ESP montadas en /efi ou /boot/efi. Os núcleos, a configuración, as imaxes initrd e EFI agora pódense iniciar desde as particións ESP e XBOOTLDR. Este cambio permítelle usar o cargador de arranque sd-boot en escenarios máis conservadores, cando o propio cargador de arranque está situado no ESP e os núcleos cargados e os metadatos asociados colócanse nunha sección separada;
  • Engadida a posibilidade de arrincar coa opción "systemd.volatile=overlay" pasada ao núcleo, que lle permite colocar a partición raíz en overlayfs e organizar o traballo encima dunha imaxe de só lectura do directorio raíz con cambios escritos nun directorio separado en tmpfs (os cambios nesta configuración pérdense despois dun reinicio) . Por analoxía, systemd-nspawn engadiu a opción "--volatile=overlay" para usar unha funcionalidade similar nos contedores;
  • systemd-nspawn engadiu a opción "--oci-bundle" para permitir o uso de paquetes en tempo de execución para proporcionar o lanzamento illado de contedores que cumpran coa especificación Open Container Initiative (OCI). Para o seu uso na liña de comandos e unidades nspawn, proponse compatibilidade con varias opcións descritas na especificación OCI, por exemplo, as opcións "--inaccessible" e "Inaccessible" poden usarse para excluír partes do sistema de ficheiros, e o " Engadíronse opcións --console para configurar fluxos de saída estándar e "-pipe";
  • Engadida a capacidade de controlar o comportamento de systemd-logind mediante variables de ambiente: $SYSTEMD_REBOOT_ TO_FIRMWARE_SETUP,
    $SYSTEMD_REBOOT_TO_BOOT_LOADER_MENU e
    $SYSTEMD_REBOOT_ TO_BOOT_LOADER_ENTRY. Usando estas variables, pode conectar os seus propios controladores de proceso de reinicio (/run/systemd/reboot-to-firmware-setup, /run/systemd/reboot-to-boot-loader-menu e
    /run/systemd/reboot-to-boot-loader-entry) ou desactívaos por completo (se o valor está definido como falso);

  • Opcións engadidas "-boot-load-menu=" e
    “—boot-loader-entry=”, que lle permite seleccionar un elemento específico do menú de arranque ou un modo de arranque despois dun reinicio;

  • Engadiuse un novo comando de illamento de sandbox "RestrictSUIDSGID=", que usa seccomp para prohibir a creación de ficheiros con marcas SUID/SGID;
  • Asegurouse de que as restricións "NoNewPrivileges" e "RestrictSUIDSGID" aplícanse por defecto nos servizos co modo de xeración de ID de usuario dinámico ("DynamicUser" activado);
  • A configuración predeterminada MACAddressPolicy=persistente nos ficheiros .link foi modificada para cubrir máis dispositivos. As interfaces de pontes de rede, túneles (tun, tap) e ligazóns agregadas (bond) non se identifican a si mesmas, excepto polo nome da interface de rede, polo que este nome úsase agora como base para vincular enderezos MAC e IPv4. Ademais, engadiuse a configuración "MACAddressPolicy=aleatoria", que se pode usar para vincular enderezos MAC e IPv4 aos dispositivos nunha orde aleatoria;
  • Os ficheiros de unidades ".device" xerados mediante systemd-fstab-generator xa non inclúen as unidades ".mount" correspondentes como dependencias na sección "Wants=". Simplemente conectar un dispositivo xa non inicia automaticamente unha unidade para montar, pero tales unidades aínda se poden lanzar por outros motivos, como como parte de local-fs.target ou como dependencia doutras unidades que dependen de local-fs.target. ;
  • Engadido soporte para máscaras ("*", etc.) aos comandos "networkctl list/status/lldp" para filtrar certos grupos de interfaces de rede por parte do seu nome;
  • A variable de ambiente $PIDFILE agora establécese usando a ruta absoluta configurada nos servizos mediante o parámetro "PIDFile=;".
  • Engadíronse servidores públicos Cloudflare (1.1.1.1) ao número de servidores DNS de copia de seguridade utilizados se o DNS principal non está definido explícitamente. Para redefinir a lista de servidores DNS de copia de seguridade, pode usar a opción "-Ddns-servers=";
  • Cando se detecta a presenza dun controlador de dispositivo USB, lánzase automaticamente un novo controlador usb-gadget.target (cando o sistema se está a executar nun dispositivo periférico USB);
  • Para os ficheiros de unidade, implementouse a configuración "CPUQuotaPeriodSec=", que determina o período de tempo en relación co cal se mide a cota de tempo da CPU, definida mediante a configuración "CPUQuota=";
  • Para os ficheiros da unidade, implementouse a configuración "ProtectHostname=", que prohibe aos servizos cambiar a información sobre o nome do servidor, aínda que teñan os permisos adecuados;
  • Para os ficheiros de unidades, implementouse a configuración "NetworkNamespacePath=", que lle permite vincular un espazo de nomes a servizos ou unidades de socket especificando a ruta do ficheiro de espazo de nomes no pseudo-FS /proc;
  • Engadiuse a posibilidade de desactivar a substitución de variables de ambiente para os procesos iniciados mediante a configuración "ExecStart=", engadindo un carácter ":" antes do comando de inicio;
  • Para os temporizadores (unidades .timer) novas bandeiras "OnClockChange=" e
    “OnTimezoneChange=”, co que pode controlar a chamada da unidade cando cambia a hora do sistema ou a zona horaria;

  • Engadíronse novos axustes "ConditionMemory=" e "ConditionCPUs=", que determinan as condicións para chamar a unha unidade en función do tamaño da memoria e do número de núcleos de CPU (por exemplo, un servizo intensivo en recursos só se pode iniciar se a cantidade necesaria de RAM dispoñible);
  • Engadiuse unha nova unidade time-set.target que acepta a hora do sistema establecida localmente, sen utilizar a reconciliación con servidores de tempo externos mediante a unidade time-sync.target. A nova unidade pode ser utilizada por servizos que precisan da precisión dos reloxos locais non sincronizados;
  • A opción "--show-transaction" engadiuse a "systemctl start" e comandos similares, cando se especifica, móstrase un resumo de todos os traballos engadidos á cola debido á operación solicitada;
  • systemd-networkd implementa a definición dun novo estado "escravo", usado en lugar de "degradado" ou "portador" para interfaces de rede que forman parte de enlaces agregados ou pontes de rede. Para as interfaces primarias, en caso de problemas cunha das ligazóns compostas, engadiuse o estado "portador degradado";
  • Engadida a opción "IgnoreCarrierLoss="" ás unidades .network para gardar a configuración da rede en caso de perda de conexión;
  • A través da configuración "RequiredForOnline=" en unidades .network, agora pode establecer o estado de ligazón mínimo aceptable necesario para transferir a interface de rede a "en liña" e activar o controlador systemd-networkd-wait-online;
  • Engadiuse a opción "--any" a systemd-networkd-wait-online para agardar a preparación de calquera das interfaces de rede especificadas en lugar de todas, así como a opción "--operational-state=" para determinar o estado de a ligazón que indica a preparación;
  • Engadíronse os axustes "UseAutonomousPrefix=" e "UseOnLinkPrefix="" ás unidades .network, que se poden usar para ignorar os prefixos ao recibir
    anuncio dun enrutador IPv6 (RA, anuncio do enrutador);

  • Nas unidades .network, engadíronse os axustes “MulticastFlood=”, “NeighborSuppression=" e “Learning=" para cambiar os parámetros de funcionamento da ponte de rede, así como a configuración “TripleSampling=" para cambiar o modo TRIPLE-SAMPLING de interfaces virtuais CAN;
  • Engadíronse a configuración "PrivateKeyFile=" e "PresharedKeyFile="" ás unidades .netdev, coas que pode especificar claves privadas e compartidas (PSK) para interfaces WireGuard VPN;
  • Engadíronse as opcións same-cpu-crypt e submit-from-crypt-cpus a /etc/crypttab, que controlan o comportamento do planificador ao migrar o traballo relacionado co cifrado entre núcleos da CPU;
  • systemd-tmpfiles proporciona o procesamento de ficheiros de bloqueo antes de realizar operacións en directorios con ficheiros temporais, o que lle permite desactivar o traballo na limpeza de ficheiros desactualizados durante determinadas accións (por exemplo, ao desempaquetar un arquivo tar en /tmp, os ficheiros moi antigos poden ser abertas que non se poden eliminar antes do final da acción con eles);
  • O comando "systemd-analyze cat-config" ofrece a posibilidade de analizar unha configuración dividida en varios ficheiros, por exemplo, axustes preestablecidos do usuario e do sistema, o contido de tmpfiles.d e sysusers.d, regras udev, etc.
  • Engadida a opción "--cursor-file=" a "journalctl" para especificar un ficheiro para cargar e gardar o cursor de posición;
  • Engadiuse a definición do hipervisor ACRN e do subsistema WSL (Subsistema de Windows para Linux) a systemd-detect-virt para a ramificación posterior mediante o operador condicional "ConditionVirtualization";
  • Durante a instalación de systemd (ao executar "ninja install"), a creación de ligazóns simbólicas aos ficheiros systemd-networkd.service, systemd-networkd.socket,
    systemd-resolved.service, remote-cryptsetup.target, remote-fs.target,
    systemd-networkd-wait-online.service e systemd-timesyncd.service. Para crear estes ficheiros, agora cómpre executar o comando "systemctl preset-all".

Fonte: opennet.ru

[:]

Engadir un comentario