Après un peu plus de trois mois de développement, le lancement de la nouvelle version de systèmed 259. Cette mise à jour introduit des modifications dans l'architecture du système, soulignant l'ouverture aux bibliothèques standard alternatives, une gestion des privilèges plus rigoureuse et des exigences techniques plus strictes pour les versions futures.
L'un des mouvements les plus commentés de ce cycle est la transition vers une plus grande modularité et l'élimination des dépendances héritées, ouvrant la voie à un écosystème Linux qui s'éloigne définitivement des normes des décennies passées.
Principales nouveautés de systemd 259
La nouvelle version 259 de systemd se distingue par le fait qu'elle est première version pour ajouter une compatibilité partielle avec Musl, la bibliothèque standard C populaire dans les distributions légères et les environnements embarqués. Cette intégration Elle est gérée via l'option libc dans le système de compilation Meson. Cependant, comme Musl n'implémente pas la fonctionnalité NSS (Name Service Switch), plusieurs composants systemd restent désactivés dans cette configuration.
Parmi lesabsences notables lors de la compilation avec Musl trouvé nss-systemd, nss-resolve, systemd-homed, systemd-userdbd et le paramètre DynamicUserDe plus, l'exécution de systemd-nspawn sans privilèges est impossible avec cette bibliothèque. Les développeurs ont prévenu que le maintien de cette compatibilité dans les versions futures dépendra de la demande de la communauté et de la stabilité des couches de compatibilité supplémentaires qui pourraient être développées.
Une autre nouveauté de cette version est : dans l'utilitaire run0, conçu comme une alternative moderne et sûre à sudo, qui a reçu la nouvelle option – autonomiser. Cette fonction Il vous permet de vous connecter avec des privilèges élevés. sans avoir besoin de changer l'identifiant utilisateur (UID) en root.
Par ailleurs, au lieu de déléguer le contrôle total via la commutation utilisateur, –empower utilise des indicateurs de capacité du noyau, tels que CAP_SYS_ADMIN, accorder les permis strictement nécessaires pour effectuer des appels système privilégiés. De plus, les processus résultants sont intégrés à un groupe spécifique qui leur confère l'accès aux actions Polkit, assurant ainsi une séparation des privilèges plus robuste que le modèle sudo traditionnel.
La fin d'une ère : adieu au Système V et aux nouvelles exigences
systemd 259 marque le début de la fin pour compatibilité avec Scripts de service System VIl a été annoncé que dans la prochaine version, les composants hérités tels que systemd-sysv-generator, systemd-rc-local-generator et systemd-sysv-install seront définitivement supprimés.
Parallèlement à ce nettoyage du code ancien, les exigences logicielles minimales pour l'écosystème systemd ont été considérablement relevées :
- Noyau Linux : Version minimale 5.10.
- Glibc : 2.34.
- OpenSSL : 3.0.0.
- Util-linux : 2.37.
- Autres : Python 3.9.0, cryptsetup 2.4.0 et libseccomp 2.4.0.
Modularité et chargement dynamique dans libsystemd
Comme dans le cadre d'une initiative visant à réduire les dépendances direct au démarrage, libsystemd utilise désormais le chargement dynamique via dlopen() Pour les bibliothèques telles que libacl, libblkid, libseccomp, libselinux et libmount, le système ne les charge en mémoire que lorsque leurs fonctions spécifiques sont requises par un processus, optimisant ainsi l'utilisation des ressources. De plus, les fonctionnalités de libcap ont été directement intégrées à libsystemd, simplifiant la chaîne de dépendances.
El La gestion des journaux a changé de configuration par défaut : le mode de stockage du journal (Revue) passage de « automatique » à « persistant », que le répertoire /var/log/journal ait existé ou non auparavant.
Dans le domaine des réseaux et de la virtualisation :
- systemd-networkd et systemd-nspawn : La prise en charge des règles NAT utilisant iptables est supprimée, ne laissant que nftables comme seule option compatible.
- systemd-résolu : Il permet désormais l'utilisation de hooks locaux (hooks) dans /run/systemd/resolve.hook/ pour intervenir dans les requêtes de résolution de noms.
- systemd-importé : La logique de gestion des fichiers TAR a été intégrée nativement. De plus, `importd` et `machined` peuvent désormais être exécutés au niveau de l'utilisateur, permettant ainsi la gestion des images dans le répertoire local de l'utilisateur (`~/.local/state/machines/`).
Autres innovations
L'API basée sur un protocole Varlink a bénéficié d'améliorations permettant l'accès aux paramètres de service et la réalisation d'appels IPC. par exemple, les fonctions Reload() et Reexecute(). Pour les administrateurs système, l'ajout de la propriété OOMKills aux services sera très utile, car elle leur permettra de suivre le nombre de fois où un processus a été interrompu par manque de mémoire directement depuis les outils systemd.
Enfin, le processus de démarrage du système devient plus moderne avec la suppression de la prise en charge du TPM 1.2 dans systemd-boot, concentrant tous les efforts de sécurité sur la norme TPM 2.0.
Si vous souhaitez en savoir plus, vous pouvez consulter le détails dans le lien suivant.