systemdの反乱

かつては40行のbashスクリプトの山。systemd はそれを1本のスイッチに統合した
かつては40行のbashスクリプトの山。systemd はそれを1本のスイッチに統合した

2010年ごろまで、多くのLinuxでは、サービスの起動の手順をシェルスクリプトで書いていた。Webサーバーひとつにも数十行の起動スクリプト。これがSysVinitと呼ばれる仕組みだった。起動は1つずつ順番に進むので遅く、落ちたサービスを立ち上げ直すには別のツールをつぎはぎする必要があった。

そこにLennart PoetteringとKay Sieversがsystemdを発表した。起動も監視も再起動も、ひとつにまとめた仕組みだ。しかし反発は激しかった。「Unix哲学に反する!」「1つのツールは1つのことをうまくやるべきだ」と。論争は何年も続いた。それでも今日、Ubuntu、Fedora、Debian、RHELなどほぼすべての主要Linuxディストリビューションがsystemdを採用している。かつて数十行の起動スクリプトで書いていたことを、今は数行の設定ファイル(ユニットファイル)で書ける。

優れたツールは常に議論を呼ぶ。