В кодовую базу systemd принято изменение, разрешающее компоненты на Rust

24.10.2026

В системный менеджер systemd принято изменение, добавляющее возможность создавать компоненты на языке Rust. Rust намерены использовать только для новых компонентов — существующий код на C переписывать не планируют. Пакетный менеджер cargo в сборке не применяется, остаётся только система Meson. Rust-код идёт в режиме no_std: разрешены лишь core, alloc и libc.

Связь с C

Rust-компоненты динамически связываются с C-библиотекой libsystemd-shared. Обёртки над ней генерируются на этапе сборки из заголовочных файлов утилитой bindgen и становятся доступны в виде пакета systemd_shared. Требуются минимум rustc 1.85 и bindgen 0.71.1 — те версии, что идут в Debian 13.

Цена и первый компонент

Тестовый исполняемый файл на Rust при сборке с LTO занимает 32 КиБ против 20 КиБ у аналога на C. По умолчанию поддержка Rust включается только при наличии инструментария (-Drust=auto). Первым компонентом развивается systemd-keyring-setup — настройка X.509-сертификатов для механизмов ядра dm-verity, fs-verity и bpf; в основную кодовую базу он пока не принят.

Оригинал

В systemd добавлена возможность разработки компонентов на языке Rust (opennet.ru)

Упоминаний: 0 · Просмотров: 6