В systemd приняли поддержку Rust для новых компонентов

В systemd приняли поддержку Rust для новых компонентов
Содержание статьи

24 октября в основной код systemd приняли изменения, позволяющие собирать новые компоненты на Rust. Это изменение инфраструктуры разработки, а не отдельный выпуск systemd. На Mentoring.digital разбираем, что решение меняет для разработчиков и сопровождающих Linux-пакеты.

Какие части systemd смогут использовать Rust

В принятом запросе на изменение обозначены границы: Rust предназначен для новых конечных компонентов, от которых не зависят другие части проекта. Переписывать существующие программы на C в рамках этого решения не планируют. Поэтому формулировка «systemd перевели на Rust» была бы неверной.

Сборка остаётся на Meson, без Cargo. Для Rust-кода выбран режим no_std; связь с общей библиотекой на C организована отдельно. Это задаёт ограничения на привычный для Rust-проекта набор инструментов и библиотек.

Что важно проверить при сборке

Изменения предусматривают rustc не ниже 1.85, bindgen не ниже 0.71.1 и Meson не ниже 1.4 для включения поддержки Rust. Параметр rust по умолчанию имеет значение auto. При сборке с принудительным включением всех возможностей понадобятся соответствующие зависимости либо явное отключение Rust.

Для сопровождающего пакета это повод проверить конфигурацию сборочного окружения. Для администратора установленной системы принятие изменений в репозиторий само по себе не означает, что уже нужно менять службы или конфигурацию работающего сервера.

Как следить за изменением без лишних действий

  1. Различайте принятую инфраструктуру, добавление конкретной программы и готовый релиз в вашем дистрибутиве.
  2. Если собираете systemd самостоятельно, проверьте параметры Meson и наличие нужных инструментов в тестовом окружении.
  3. Читайте примечания будущего пакета перед обновлением, особенно если поддерживаете собственную сборку.

Для понимания последствий полезно уметь читать unit-файлы, зависимости и журналы служб. Эти основы можно разобрать с наставником по Linux. Редакция проверила принятый запрос на изменение; собственную сборку systemd с Rust в рамках этой новости не выполняла.

Похожие статьи по данной теме