LinuCの勉強をしていて気になったので調べました。
inetd/xinetd/systemdはスーパーデーモン
inetd/xinetd/systemdはスーパーデーモンと呼ばれるものです。
スーパーデーモンとは、待ち受けポートを一元管理して、要求が来た待ち受けポートに対応するデーモンを起動させる中継デーモンとのことです。
イメージは以下の図の通り。
システムの負荷軽減以外にも、システム管理を一元化することによる管理負荷軽減や、
システムの冗長性・堅牢性向上のメリットもあるそうです。
また、Linuxのサービスは常駐型と接続要求のたびに起動するサービスがあるのですが、スーパーデーモンは主に後者の管理に使われるようです。
apacheなど頻繁に接続要求を受け付けるサービスは、リクエストごとのデーモン起動・終了が頻繁に発生し、かえって負荷が大きくなるので、スーパーデーモンを介さないスタンドアローンモードで使うことが推奨されているようです。
inetd/xinetd/systemdの違い
inetd
デーモン起動を制御します。
アクセス制御を行う「TCPWrapper」との組み合わせで利用されていました。
※自分がLinuxをいじり始めた20年位前に使われていたような...
xinetd
単体でアクセス制御とデーモン起動を行います。
inetdと比べ、セキュリティ面で改良が施されているそうです。
systemd
Linuxの起動処理やシステム管理を行う、システム管理デーモン、
ライブラリおよびユーティリティ一式のことです。
Linuxの起動からシステム管理まで幅広い機能を持っており、
その中にxinetdの代替機能を含んでいます。
現在の主要ディストリビューションのほとんどはすでにsystemdを採用しているようですが、
LinuC102の勉強をしていると、inetdやxinetdの問題をちらほら見かけます。
参考
https://ja.wikipedia.org/wiki/Xinetd
https://ja.wikipedia.org/wiki/Systemd
http://equj65.net/tech/systemd-boot/
https://dev.classmethod.jp/articles/systemd-getting-started/