UK — The Register
systemdがRustのサポートを追加
ソフトウェア2分で読めます
systemd(Linux のシステム起動を管理する仕組み)に、Rust というプログラミング言語で新しい部品を作れるようにする機能が加わりました。ただし、まだ正式リリースには入っていません。
何が起きたのか
systemd の開発者 Christian Brauner さんが、新機能が取り込まれたことを Mastodon で発表しました。以前は 1 つだった変更案(プルリクエスト #44144)は、5 つの部分に分けられました。最も目立つ第 2 部では、サポートプログラムを Rust で書けるようになります。次期バージョンの systemd 263 に入る予定です。
主な数字と事実
- 現在の最新版は systemd 262(約 1 か月前にリリース)
- 新しい機能は全 5 部構成の変更案として取り込まれた
- Rust 1.85 以上が必要(この版は 2025 年 2 月に公開)
- bindgen 0.71.1 以上と Meson 1.4.0 以上も必要
- Rust のコードは標準ライブラリを使ってはいけない
背景をやさしく
systemd は、コンピューターを起動したときに多くのプログラムを順番に動かす仕組みです。これまではほぼ C 言語で書かれてきました。Rust は、メモリの扱いで間違いが起きにくいように設計された新しい言語です。ビルドには、systemd が already 使っている Meson という仕組みが使われ、Cargo(Rust の標準的なビルドツール)は使われません。
なぜ大事なのか
これは「systemd を全部 Rust で書き直す」という意味ではありません。新しく追加される部品だけを Rust で書けるようになる、という小さな一歩です。Rust で作られた部品が増えれば、メモリに関する不具合が減るかもしれません。ただし、既存の C のコードは移植されず、他の部品が依存する部分も Rust にはなりません。また、Rust から systemd を呼び出す別のツールは、2015 年ごろから存在しています。
今後注目すべき点
- systemd 263 の正式リリースで、この機能が本当に入るか
- Rust が動的ライブラリに対応し、コア部分でも使えるようになるか
- Rust で書かれた最初の新しい部品がどんなものになるか