gestionnaire de système systemd version 251

Après cinq mois de développement, la version du gestionnaire de système systemd 251 est présentée.

Les principaux changements:

  • La configuration système requise a été augmentée. La version minimale du noyau Linux prise en charge a été augmentée de 3.13 à 4.15. La minuterie CLOCK_BOOTTIME est requise pour le fonctionnement. Pour construire, vous avez besoin d'un compilateur prenant en charge la norme C11 et les extensions GNU (la norme C89 continue d'être utilisée pour les fichiers d'en-tête).
  • Ajout d'un utilitaire expérimental systemd-sysupdate pour détecter, télécharger et installer automatiquement les mises à jour à l'aide d'un mécanisme atomique de remplacement de partitions, de fichiers ou de répertoires (deux partitions/fichiers/répertoires indépendants sont utilisés, dont l'un contient la ressource de travail actuelle et l'autre installe la prochaine mise à jour, après quoi les sections/fichiers/répertoires sont permutés).
  • Une nouvelle bibliothèque partagée interne, libsystemd-core-.so, a été introduite. Elle s'installe dans le répertoire /usr/lib/systemd/system et correspond à la bibliothèque libsystemd-shared-.so existante. L'utilisation de la bibliothèque partagée libsystemd-core-.so réduit la taille globale de l'installation en réutilisant le code binaire. Le numéro de version peut être spécifié via le paramètre 'shared-lib-tag' dans le système de construction meson et permet aux distributions de fournir plusieurs versions de ces bibliothèques en même temps.
  • Implémentation du transfert des variables d'environnement $MONITOR_SERVICE_RESULT, $MONITOR_EXIT_CODE, $MONITOR_EXIT_STATUS, $MONITOR_INVOCATION_ID et $MONITOR_UNIT des informations sur l'unité surveillée vers les gestionnaires OnFailure/OnSuccess.
  • Pour les unités, le paramètre ExtensionDirectories a été implémenté, qui peut être utilisé pour organiser le chargement des composants d'extension système à partir de répertoires normaux, plutôt que d'images disque. Le contenu du répertoire d'extension système est superposé à l'aide d'OverlayFS et est utilisé pour étendre la hiérarchie des répertoires /usr/ et /opt/, et ajouter des fichiers supplémentaires au moment de l'exécution, même si lesdits répertoires sont montés en lecture seule. La commande 'portablectl attach --extension=' a également ajouté la prise en charge de la spécification d'un répertoire.
  • Pour les unités terminées de force par le gestionnaire systemd-oomd en raison d'un manque de mémoire dans le système, l'attribut 'oom-kill' est transmis et le nombre de terminaisons forcées est reflété dans l'attribut 'user.oomd_ooms'.
  • Pour les unités, de nouveaux spécificateurs de chemin %y/%Y ont été ajoutés, reflétant le chemin normalisé vers l'unité (avec l'expansion des liens symboliques). Sont également ajoutés les spécificateurs %q pour remplacer la valeur PRETTY_HOSTNAME et %d pour la substitution CREDENTIALS_DIRECTORY.
  • Dans les services non privilégiés lancés par un utilisateur normal à l'aide de l'indicateur "--user", modifications des paramètres de RootDirectory, MountAPIVFS, ExtensionDirectories, *Capabilities*, ProtectHome, *Directory, TemporaryFileSystem, PrivateTmp, PrivateDevices, PrivateNetwork, NetworkNamespacePath, PrivateIPC, IPCNamespacePath , PrivateUsers, ProtectClock sont autorisés, ProtectKernelTunables, ProtectKernelModules, ProtectKernelLogs et MountFlags. Cette fonctionnalité n'est disponible que lorsque les espaces de noms d'utilisateur sont activés dans le système.
  • Le paramètre LoadCredential permet de spécifier un nom de répertoire comme argument, auquel cas une tentative est effectuée pour charger les informations d'identification de tous les fichiers du répertoire spécifié.
  • Dans systemctl, dans le paramètre « -timestamp », il est devenu possible de spécifier le drapeau « unix » pour afficher l'heure au format époque (le nombre de secondes depuis le 1er janvier 1970).
  • Le « systemctl status » implémente l'indicateur « old-kernel », qui s'affiche si le noyau chargé dans la session a un numéro de version plus ancien que le noyau de base disponible dans le système. Ajout également d'un indicateur "unmerged-usr" pour déterminer que le contenu des répertoires /bin/ et /sbin/ n'est pas formé via des liens symboliques vers /usr.
  • Pour les générateurs démarrés par un processus PID 1, de nouvelles variables d'environnement sont fournies : $SYSTEMD_SCOPE (démarrage depuis un service système ou utilisateur), $SYSTEMD_IN_INITRD (démarrage depuis l'environnement initrd ou hôte), $SYSTEMD_FIRST_BOOT (premier indicateur de démarrage), $SYSTEMD_VIRTUALIZATION ( présence de virtualisation ou lancement dans un conteneur) et $SYSTEMD_ARCHITECTURE (l'architecture pour laquelle le noyau a été construit).
  • Le gestionnaire PID 1 implémente la possibilité de charger les paramètres d'informations d'identification du système à partir de l'interface QEMU fw_cfg ou en spécifiant le paramètre systemd.set_credential sur la ligne de commande du noyau. La directive LoadCredential permet une recherche automatique des informations d'identification dans les répertoires /etc/credstore/, /run/credstore/ et /usr/lib/credstore/ si un chemin relatif est spécifié comme argument. Un comportement similaire s'applique à la directive LoadCredentialEncrypted, qui vérifie en outre les répertoires /etc/credstore.encrypted/, /run/credstore.encrypted/ et /usr/lib/credstore.encrypted/.
  • La possibilité d'exporter au format JSON a été stabilisée dans systemd-journald. Les commandes "journalctl --list-boots" et "bootctl list" prennent désormais en charge la sortie au format JSON (l'indicateur "--json").
  • De nouveaux fichiers avec les bases de données hwdb ont été ajoutés à udev, contenant des informations sur les appareils portables (PDA, calculatrices, etc.) et les appareils utilisés pour créer du son et de la vidéo (consoles DJ, claviers).
  • De nouvelles options « --prioritized-subsystem » ont été ajoutées à udevadm pour définir la priorité des systèmes suivants (utilisées dans systemd-udev-trigger.service pour traiter en premier les périphériques de bloc et les TPM), « -type=all », « -initialized -match" et "--initialized-nomatch" pour sélectionner les périphériques initialisés ou non initialisés, "udevadm info -tree" pour afficher une arborescence d'objets dans la hiérarchie /sys/. udevadm ajoute également de nouvelles commandes « wait » et « lock » pour attendre qu'une entrée de périphérique apparaisse dans la base de données et verrouiller un périphérique bloc lors du formatage ou de l'écriture d'une table de partition.
  • Ajout d'un nouvel ensemble de liens symboliques de périphérique /dev/disk/by-diskseq/ pour identifier les périphériques bloqués par numéro de séquence ("diskseq").
  • Ajout de la prise en charge du paramètre « Firmware » dans les fichiers .link dans la section [Match] pour faire correspondre l'appareil par ligne avec la description du firmware.
  • Dans systemd-networkd, pour les routes unicast configurées via la section [Route], la valeur de portée a été modifiée par défaut en "link" pour correspondre au comportement de la commande "ip route". Le paramètre Insulated=true|false a été ajouté à la section [Bridge] pour configurer l'attribut du même nom pour les ponts réseau dans le noyau. Dans la section [Tunnel], le paramètre Externe a été ajouté pour définir le type de tunnel sur externe (mode de collecte de métadonnées). Dans la section [DHCPServer], les paramètres BootServerName, BootServerAddress et BootFilename ont été ajoutés pour configurer l'adresse du serveur, le nom du serveur et le nom du fichier de démarrage envoyés par le serveur DHCP lors du démarrage en mode PXE. Dans la section [Réseau], le paramètre L2TP a été supprimé, à la place de quoi, dans les fichiers .netdev, vous pouvez utiliser le nouveau paramètre Local en relation avec l'interface L2TP.
  • Ajout d'une nouvelle unité « [email protected] », qui peut être utilisée pour attendre l'apparition d'une interface réseau spécifique.
  • Il est désormais possible d'utiliser des fichiers .netdev pour créer des périphériques WLAN virtuels, configurables dans la section [WLAN].
  • Dans les fichiers .link/.network, la section [Match] implémente le paramètre Kind pour la correspondance par type de périphérique (« bond », « bridge », « gre », « tun », « veth »).
  • Systemd-resolved a été lancé à une étape de démarrage antérieure, y compris à partir de initrd si systemd-resolved est présent dans l'image initrd.
  • systemd-cryptenroll ajoute l'option --fido2-credential-algorithm pour sélectionner l'algorithme de cryptage des informations d'identification et l'option --tpm2-with-pin pour contrôler la saisie du code PIN lors du déverrouillage d'une partition à l'aide de TPM. Une option tpm2-pin similaire a été ajoutée à /etc/crypttab. Lors du déverrouillage des appareils via TPM, les paramètres sont cryptés pour protéger contre l'interception des clés de cryptage.
  • systemd-timesyncd ajoute l'API D-Bus pour récupérer dynamiquement les informations d'un serveur NTP via IPC.
  • Pour déterminer le besoin de sortie couleur, toutes les commandes implémentent une vérification de la variable d'environnement COLORTERM en plus des variables NO_COLOR, SYSTEMD_COLORS et TERM précédemment vérifiées.
  • Le système de build Meson implémente l'option install_tag pour l'assemblage sélectif et l'installation des composants nécessaires : pam, nss, devel (pkg-config), systemd-boot, libsystemd, libudev. Ajout de l'option de construction default-compression pour sélectionner l'algorithme de compression pour systemd-journald et systemd-coredump.
  • Ajout du paramètre expérimental « reboot-for-bitlocker » à sd-boot dans loader.conf pour démarrer Microsoft Windows avec BitLocker TPM.

Source: opennet.ru

Ajouter un commentaire