Do systemd byla přidána možnost vývoje komponentů v jazyce Rust

Do kódové základně systémového správce systemd bylo přijato změny, které umožňují vytváření komponentů v jazyce Rust. Rust má být použit pouze pro vývoj nových komponentů, a existující kód v jazyce C nebude přepisován na Rust. Balíčkový manažer cargo při sestavení nepoužívá, zapojuje se pouze systém sestavení Meson. Kód Rust se používá v režimu „no_std“ (bez standardní knihovny), jsou povoleny pouze knihovny core, alloc a libc.

Komponenty systemd na Rust se dynamicky spojují s C-knihovnou libsystemd-shared. Rustové obálky nad libsystemd-shared jsou automaticky generovány během sestavení z hlavičkových souborů pomocí nástroje bindgen a stávají se dostupnými pro rustové programy ve formě balíčku systemd_shared. Pro práci je vyžadována alespoň verze rustc 1.85 a bindgen 0.71.1, odpovídající verzím z Debianu 13.

Testovací spustitelný soubor na Rust při sestavení s LTO optimalizacemi zabírá 32 kB, zatímco ekvivalent v C zabírá 20 kB. Podpora Rust je ve výchozím nastavení povolena pouze při přítomnosti odpovídajícího rustového nástroje v systému (-Drust=auto). Prvním komponentem napsaným v Rustu je systemd-keyring-setup, který zatím nebyl přijat do hlavní kódové základny systemd. Systemd-keyring-setup slouží k nastavení a správě X.509 certifikátů pro mechanismy jádra Linux dm-verity, fs-verity a bpf.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster