Dans systemd, la possibilité de développer des composants en langage Rust a été ajoutée

Une modification a été apportée à la base de code du gestionnaire de système systemd, ajoutant la possibilité de créer des composants en langage Rust. Rust sera utilisé uniquement pour le développement de nouveaux composants, et il n'est pas prévu de réécrire le code existant en C en Rust. Le gestionnaire de paquets cargo n'est pas utilisé lors du processus de compilation, seule le système de construction Meson reste impliqué. Le code Rust est utilisé en mode « no_std » (sans bibliothèque standard), seules les bibliothèques core, alloc et libc sont autorisées.

Les composants de systemd en Rust sont liés dynamiquement à la bibliothèque C libsystemd-shared. Les liaisons en Rust de libsystemd-shared sont générées automatiquement lors de la compilation à partir des fichiers d'en-tête à l'aide de l'outil bindgen, et deviennent disponibles pour les programmes en Rust sous la forme du paquet systemd_shared. Au minimum, les versions requises sont rustc 1.85 et bindgen 0.71.1, correspondant aux versions de Debian 13.

Un exécutable de test en Rust, compilé avec des optimisations LTO, occupe 32 Ko, alors qu'un équivalent en C occupe 20 Ko. Par défaut, la prise en charge de Rust est activée uniquement si l'outillage Rust correspondant est présent sur le système (-Drust=auto). Le premier composant écrit en Rust en développement est systemd-keyring-setup, qui n'a pas encore été intégré dans la base de code principale de systemd. Systemd-keyring-setup est destiné à la configuration et à la gestion des certificats X.509 pour les mécanismes du noyau Linux dm-verity, fs-verity et bpf.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster