I systemd er muligheden for at udvikle komponenter på Rust tilføjet

I kodebasen for systemmanageren systemd er der blevet indført en ændring, der tilføjer muligheden for at oprette komponenter i Rust. Rust vil kun blive brugt til udvikling af nye komponenter, og der er ikke planer om at omskrive eksisterende C-kode til Rust. Pakkehåndtereren cargo anvendes ikke under opbygningen; kun bygningssystemet Meson anvendes. Rust-kode bruges i 'no_std'-tilstand (uden standardbibliotek), og det er kun tilladt at bruge bibliotekerne core, alloc og libc.

Systemd-komponenter i Rust binder dynamisk til C-biblioteket libsystemd-shared. Rust-bindings til libsystemd-shared genereres automatisk under bygningen fra headerfiler ved hjælp af bindgen-værktøjet og bliver tilgængelige for Rust-programmer i form af pakken systemd_shared. For at fungere kræves mindst versionerne rustc 1.85 og bindgen 0.71.1, som svarer til versionerne fra Debian 13.

En testeksekverbar fil skrevet i Rust tager 32 KB at bygge med LTO-optimeringer, mens dens C-modpart kun tager 20 KB. Som standard aktiveres Rust-support kun ved tilstedeværelse af det relevante Rust-værktøjssæt i systemet (-Drust=auto). Det første komponent, der skrives i Rust, er systemd-keyring-setup, som endnu ikke er optaget i hovedkodebasen for systemd. Systemd-keyring-setup er designet til at konfigurere og administrere X.509-certifikater til mekanismerne i Linux-kernen dm-verity, fs-verity og bpf.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster