Initシステム

upstartとsystemdの見分け方

各々、代表的なコマンドがあるかどうかで決めて良いと思います。以下、自分の環境で調べた結果をまとめます

How To Confirm

system command
sysVinit cat /etc/inittab
upstart initctl
systemd systemctl

Confirmed List

distribution system
ubuntu14,04 upstart
ubuntu15.04 systemd
raspbian sysVinit
CentOS6.2 upstart
CentOS6.7 upstart
CentOS7.1 systemd

systemd

ubuntu14.10からsystemdの導入が決定し、CentOS7もsystemdに移行しているので、時代のトレンド的にSystemdが流行り出しているのかな、とか勝手に思っていますが、要するにsysVinitは依存関係上の処理が止まると全てのサービスの起動が停滞してしまう、という欠点があり、それが起動の遅延を引き起こしていましたが、systemdはサービスの起動を並列的に処理してくれるので結果的に起動が速くなります。

注意ですが、sysctlコマンドはカーネルのパラメータを操作するときのコマンドであり、systemdのコマンドではありません。 Systemd関連記事
systemdを本番運用してわかったこと

upstart

Upstartもsystemdと同じような働きをしており、過去多くのLinux distributionで利用されてきましたが、今はUpstartよりも多機能で膨大な働きができるSystemdの方が主流となっているようです。しかしながらUbuntu14.04LTSではUpstartが採用されていますので、現在のところどちらも使えるようになっておく必要があります(私の場合ですが)。

起動スクリプトの考え方は変わらない

起動スクリプトの考え方、つまりは、CentOS6における、/etc/init.d/* startみたいな使い方には変化しないようです。systemdではsystemctlを使用するかservice サービス名という使い方をします。

Nov 7th, 2015