systemd 245 dispoñible coa implementación do directorio home portátil
Despois de tres meses de desenvolvemento presentado versión do administrador do sistema systemd 245. Na nova versión, engádense novos compoñentes systemd-homed e systemd-repart, inclúese soporte para perfís de usuario portátiles en formato JSON, ofrécese a capacidade de definir espazos de nomes en systemd-journald e engádese soporte para o mecanismo "pidfd". . Completamente redeseñado sitio web do proxecto, que recolle a maior parte da documentación dispoñible e propón un novo logotipo.
Servizo engadido systemd-homed, que proporciona a xestión de directorios domésticos portátiles, entregados en forma de ficheiro de imaxe montado, cuxos datos están cifrados. Systemd-homed permítelle crear ambientes autónomos para os datos do usuario que se poden transferir entre diferentes sistemas sen preocuparse pola sincronización e confidencialidade do identificador. As credenciais do usuario están ligadas ao directorio de inicio en lugar da configuración do sistema; utilízase un perfil co formato en lugar de /etc/passwd, /etc/group e /etc/shadow JSON. Para máis detalles, consulte último anuncio systemd-homed.
Engadiuse un compoñente complementario systemd-homed "userdb” (“systemd-userdb”), que traduce as contas NSS UNIX/glibc en rexistros JSON e proporciona unha API Varlink unificada para consultar e iterar sobre rexistros. O perfil JSON asociado ao directorio de inicio especifica os parámetros necesarios para o traballo do usuario, incluído o nome de usuario, o hash do contrasinal, as claves de cifrado, as cotas e os recursos aprovisionados. O perfil pódese certificar cunha sinatura dixital almacenada nun token Yubikey externo. Para xestionar perfís proponse a utilidade “userdbctl”. Engadiuse soporte para perfís JSON a varios compoñentes de systemd, incluíndo systemd-logind e pam-systemd, o que permite aos usuarios de directorios portátiles autenticarse, iniciar sesión, establecer variables de ambiente, crear unha sesión, establecer límites, etc. No futuro, espérase que o marco sssd poida xerar perfís JSON con configuracións de usuario almacenadas en LDAP.
Engadiuse unha nova utilidade "systemd-repart", deseñada para reparticionar as táboas de particións do disco en formato GPT. A estrutura da partición defínese en forma declarativa a través de ficheiros que describen que particións deberían ou poden existir. En cada inicio, a táboa de particións real compárase con estes ficheiros, despois de que engádense as particións que faltan ou, se o tamaño relativo ou absoluto definido na configuración non coincide, aumenta o tamaño das existentes. Só se permiten cambios incrementais, é dicir. non é posible eliminar e reducir o tamaño, só se poden engadir e ampliar as particións.
A utilidade está deseñada para ser iniciada desde o initrd e detecta automaticamente o disco no que se atopa a partición raíz, que non require configuración adicional, agás os ficheiros coa definición de cambios.
Na práctica, systemd-repart pode ser útil para as imaxes do sistema operativo que inicialmente se poden enviar nunha forma mínima, e despois do primeiro arranque pódese ampliar ao tamaño do dispositivo de bloque existente ou complementarse con particións adicionais (por exemplo, a raíz. partición pódese expandir para cubrir todo o disco ou despois do primeiro arranque crear unha partición de intercambio ou /home). Outro uso serían as configuracións con dúas particións xiratorias: só se pode proporcionar inicialmente a primeira partición e a segunda crearase no primeiro arranque.
Agora é posible lanzar varias instancias de systemd-journald, cada unha das cales mantén rexistros no seu propio espazo de nomes. Ademais do systemd-journald.service principal, o directorio .service ofrece un modelo para crear instancias adicionais ligadas aos seus espazos de nomes mediante a directiva "LogNamespace". Cada espazo de nomes de rexistro é servido por un proceso en segundo plano separado co seu propio conxunto de configuracións e límites. A función proposta pode ser útil para equilibrar a carga cun gran volume de rexistros ou para mellorar o illamento da aplicación. Engadiuse a opción "--namespace" a journalctl para limitar a consulta só ao espazo de nomes especificado.
Systemd-udevd e outros compoñentes de systemd engadiron soporte para un mecanismo para asignar nomes alternativos ás interfaces de rede, o que permite usar varios nomes simultaneamente para unha interface. O nome pode ter ata 128 caracteres (anteriormente, o nome da interface de rede estaba limitado a 16 caracteres). De xeito predeterminado, systemd-udevd agora asigna a cada interface de rede todos os nomes de variantes xerados polos esquemas de nomenclatura admitidos. Este comportamento pódese cambiar mediante a nova configuración de AlternativeName e AlternativeNamesPolicy nos ficheiros .link. systemd-nspawn implementa a xeración de nomes alternativos co nome completo do contenedor para as ligazóns veth creadas no lado do host.
A API sd-event.h engade soporte para o subsistema do núcleo de Linux "pidfd" para xestionar a situación de reutilización de PID (pidfd está asociado a un proceso específico e non cambia, mentres que un PID pódese asociar a outro proceso despois do proceso actual). asociado con el sae deste PID). Todos os compoñentes de systemd excepto o PID 1 convertéronse para usar pidfds se o subsistema é compatible co núcleo actual.
systemd-logind ofrece comprobacións de acceso para a operación de cambio de terminal virtual a través de PolicyKit. Por defecto, os permisos para cambiar o terminal activo concédense só aos usuarios que iniciaron unha sesión no terminal virtual local polo menos unha vez.
Para facilitar a creación de imaxes initrd con systemd, o controlador PID 1 detecta agora se se está a usar no initrd e, neste caso, carga automaticamente initrd.target en lugar de default.target. Con este enfoque, as imaxes do sistema initrd e principais poden diferir só na presenza do ficheiro /etc/initrd-release.
Engadiuse un novo parámetro de liña de comandos do núcleo - "systemd.cpu_affinity", equivalente á opción CPUAffinity en /etc/systemd/system.conf e que lle permite configurar a máscara de afinidade da CPU para o PID 1 e outros procesos.
Activada a recarga da base de datos SELinux xunto co reinicio do PID 1 mediante comandos como "systemctl daemon-reload".
A configuración "systemd.show-status=error" engadiuse ao controlador PID 1, cando se estableceu, só se mostran na consola as mensaxes de erro e os atrasos significativos durante a carga.
systemd-sysusers engadiu compatibilidade para crear usuarios cun nome de grupo principal que é diferente do nome de usuario.
systemd-growfs introduce soporte para a expansión da partición XFS a través da opción de montaxe x-systemd.growfs en /etc/fstab, ademais da expansión da partición admitida anteriormente con Ext4 e Btrfs.
Engadiuse a opción x-initrd.attach a /etc/crypttab para definir unha partición cifrada xa desbloqueada na fase initrd.
systemd-cryptsetup engadiu compatibilidade (opción pkcs11-uri en /etc/crypttab) para desbloquear particións cifradas usando tarxetas intelixentes PKCS#11, por exemplo para conectar o cifrado de particións a YubiKeys.
Engadíronse novas opcións de montaxe "x-systemd.required-by" e "x-systemd.wanted-by" a /etc/fstab para configurar de forma explícita as unidades que definen as operacións de montaxe que se chamarán en lugar de local-fs.target e remote. -fs .obxectivo.
Engadiuse unha nova opción de sandboxing de servizo: ProtectClock, que limita a escritura no reloxo do sistema (o acceso está bloqueado no nivel de /dev/rtc, chamadas ao sistema e permisos CAP_SYS_TIME/CAP_WAKE_ALARM).
A especificación Particións descubribles e systemd-gpt-auto-generator engadiu a detección de particións
/var e /var/tmp.
En "systemctl list-unit-files", ao mostrar unha lista de unidades, apareceu unha nova columna que reflicte o estado de habilitación ofrecido nos predefinidos do fabricante para este tipo de unidades.
Engadiuse a opción "—con-dependencias" a "systemctl", cando se instale, comandos como "systemctl status" e "systemctl cat" mostrarán non só todas as unidades correspondentes, senón tamén as unidades das que dependen.
En systemd-networkd, a configuración de qdisc engadiu a posibilidade de configurar os parámetros TBF (Filtro de cubo de fichas), SFQ (Cola de equidade estocástica), CoDel (Xestión de filas activas con retardo controlado) e FQ (Cola xusta).
Systemd-networkd implementa o parámetro MultiPathRoute na sección [Route] para configurar rutas de varias rutas.
En systemd-networkd para o cliente DHCPv4, engadiuse a opción SendDecline, cando se especifica, despois de recibir unha resposta DHCP cun enderezo, realízase unha comprobación de enderezos duplicados e, se se detecta un conflito de enderezos, rexéitase o enderezo emitido. A opción RouteMTUBytes tamén se engadiu ao cliente DHCPv4, o que lle permite determinar o tamaño de MTU para as rutas xeradas a partir de ligazóns de enderezos IP (arrendamentos).
A configuración PrefixRoute na sección [Enderezo] dos ficheiros .network quedou en desuso. Substituíuse pola configuración "AddPrefixRoute", que ten o significado oposto.
Nos ficheiros .network, engadiuse compatibilidade co novo valor "_dhcp" á configuración da Pasarela na sección "[Ruta]", cando se establece unha ruta estática en función da pasarela configurada a través de DHCP.
A configuración apareceu nos ficheiros .network da sección "[RoutingPolicyRule]".
User e SuppressPrefixLength para especificar o enrutamento de orixe en función dos intervalos de UID e do tamaño do prefixo.
En networkctl, o comando "estado" ofrece a posibilidade de mostrar rexistros en relación con cada interface de rede.
systemd-networkd-wait-online engade compatibilidade para establecer o tempo máximo de espera para que unha interface se poña en funcionamento e para esperar a que caia.
Deixou de procesar ficheiros .link e .network cunha sección "[Coincidir]" baleira ou comentada.
Nos ficheiros .link e .network, na sección "[Coincidir]", engadiuse unha configuración "PermanentMACAddress" para comprobar o enderezo MAC permanente dos dispositivos no caso de utilizar un MAC aleatorio xerado.
A sección "[TrafficControlQueueingDiscipline]" nos ficheiros .network cambiouse o nome a "[NetworkEmulator]" e o prefixo "NetworkEmulator" eliminouse dos nomes das configuracións asociadas.
systemd-resolved para DNS-over-TLS engade soporte para a comprobación SNI.