10 ポイント 投稿者 GN⁺ 2024-11-04 | 4件のコメント | WhatsAppで共有
  • systemdはシステム管理に関する統合アプリケーション群で、従来のinitプロセスを置き換え、ユーザーセッション管理、デバイス管理、ロギング、タイミングなど多様な機能を含む
  • 大半のLinuxユーザーはsystemdの長所と短所に関心がないが、一部には強く反対または支持する人もいる
  • 主流のLinuxディストリビューションはsystemdを採用しており、これは主に一般的なデスクトップ環境での利点によるもの

組み込みLinuxでの問題

  • 組み込みシステムでは、systemdの利点がむしろ欠点になり得る
  • Raspberry Pi 3Bでのメモリ使用量を例にすると、systemdはSystemV initより多くのリソースを使用する
  • systemd-journaldのようなsystemdのロギングデーモンも多くのリソースを消費する
  • 組み込み環境ではより小さな代替が必要であり、systemdはこうした環境に最適化されていない

systemdの複雑さと起動時間

  • systemdは起動時間を短縮できる場合もあるが、組み込みシステムではかえって起動時間が増えることがある。
  • systemdの複雑さと機能は一般的な環境では必要でも、組み込み環境では不要なことが多い。

代替の不在

  • systemdが置き換える多くのサービスには、組み込み環境向けにより小さく高速な代替が存在するが、一部はもはや代替がない
  • たとえば、udevデーモンはsystemdプロジェクトに統合されており、独立した代替はほとんど存在しない

systemdの拡大と代替の減少

  • systemdは多くの機能を含んでおり、ディストリビューション管理者にとっては便利である。
  • systemdがますます多くの機能を取り込むにつれて、代替を維持する動機は弱まっている。
  • これは組み込み環境でsystemdが適していない場合に問題を引き起こし得る。

結論

  • systemdは組み込み環境では従来の代替より効果が低い可能性がある。
  • 主流のLinuxディストリビューションでsystemdを使わないものを見つけるのは難しくなっている。
  • systemdの拡大により、Linuxをsystemdなしで想像しにくい未来へ向かっている。
  • 代替を開発または維持する備えが必要であり、systemdを使わないディストリビューションを継続して支援すべきである

4件のコメント

 
iolothebard 2024-11-08

systemdだけの問題ではないでしょう……

 
ganadist 2024-11-06

busybox の init は、組み込み機器向けの systemd の優れた代替です。
そして、組み込み機器のような制約のあるシステムであれば、あえて udev を使うのではなく、固定された device node を root ファイルシステムに含めれば済みます。

 
plaaat0102 2024-11-05

私の場合はかなり特殊なケースではありますが、Galaxy TabにUbuntuを入れて、そこにVS Codeを入れて使っている身としては、systemdのせいで泣きたくなることがたまにありますね..

 
GN⁺ 2024-11-04
Hacker Newsの意見
  • systemdは多くの問題を解決しており、コミュニティも非常に応答性が高く助けになる

    • ときどき奇妙な問題はあるが、常に解決策が存在する
    • メモリ使用量は重要ではなく、ほとんどの組み込みLinuxデバイスは1GB以上のRAMを備えている
    • 小型デバイスでは Zephyr や FreeRTOS を使う
  • OpenEmbedded/Yocto、Devuan、Gentoo は複数の init システムを提供している

  • Rustysd は systemd の動作を一部再現するサービスマネージャーである

    • 中核機能を提供し、さまざまなプラットフォームに systemd に似たサービスマネージャーを提供できる
  • systemd を好む人たちは主にディストリビューション管理者である

    • systemd はさまざまなシステムユーティリティを1つの大きなビルドとして提供する
  • Unix 哲学は小さなツール群が問題を解決するというものだ

    • systemd は初期には小さかったが、現在ではWebベースでビデオ会議まで可能になっている
  • runit はアプリケーションとサービスの監視に優れている

    • BusyBox に内蔵されており、非常に軽量である
    • 設定が非常に簡単で、ロギング機能も含まれる
    • Unix 哲学をほぼ完璧に体現している
  • udev なしでも組み込みシステムを動かすことはできる

    • 固定された周辺機器とカーネルモジュールを使う場合は可能である
  • RPi は産業用制御ボードのフォームファクタをデスクトップへと変換した

    • 多くのソフトウェアはこのセグメントを念頭に書かれていない
  • Chimera Linux はサービス管理とログイン/シート管理において興味深い方向へ進んでいる

    • systemd の gnulibc と gcc 拡張の使用が問題である
  • systemd のインストールサイズは組み込みLinuxで最大の問題である

    • 64M RAM と 128M NAND フラッシュを持つデバイスでは、5M の systemd は非効率である
  • systemd は250MBのRAMを使用するため、組み込みLinuxでは問題になる

    • mainstream ディストリビューションを考慮しないシステムでは大きな問題ではない
  • SysVInit は外部ユーティリティに依存してプロセスを開始・停止する

    • 最小構成であっても、init スクリプトを実行するためにシェルが必要になる