init システムの比較
From Gentoo Wiki
この記事は Unix (ライク) OS のための init システムを対比させ比較します。Gentoo で利用できるものも利用できないものも含まれています。Gentoo で利用可能な init システムソフトウェアについては、init system (メタ) 記事を参照してください。
init システム比較表
機能 | init システム | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
sysvinit | OpenRC | systemd | SMF | launchd | Epoch | finit | runit | s6 + s6-rc | 66 + 66-rc | BSD rc.d | dinit | ||
Gentoo でサポートされているか | 部分的 (OpenRC によって使用される) | はい (デフォルトの init) | はい | いいえ | いいえ | はい | いいえ | はい | いいえ | いいえ | いいえ | いいえ | |
パッケージ / バグ# | sys-apps/sysvinit | sys-apps/openrc | sys-apps/systemd | - | - | sys-apps/epoch | - | sys-process/runit | sys-apps/s6 + sys-apps/s6-rc | - | - | - | |
対応プラットフォーム | Linux / BSD | Linux + BSD | Linux | Solaris | Darwin | Linux | Linux | Linux / BSD / Darwin | Linux / BSD / Darwin | Linux | BSD | Linux / BSD / Darwin | |
主な実装言語 | C | POSIX シェル (+ C) | C | C | C | C | C | C | C | C | POSIX シェル (+ C) | C++ | |
主な依存 | - | init (sysv または BSD) | D-Bus | init(sysv?) | - | libc, /bin/sh | ? | - | skalibs, execline | s6, s6-rc | rcorder | - | |
init スクリプト/サービスのフォーマット | 単一コンフィグファイル | シェルスクリプト | コンフィグファイル (ini) | XML (+ シェルスクリプト) | plist | 複数または単一の .conf | 複数または単一の .conf | シェルスクリプト | execline またはシェルスクリプト | コンフィグファイル + execline の断片 | シェルスクリプト | コンフィグファイル | |
サービスごとの設定 | いいえ | はい (conf.d) | はい | はい (サービスインスタンス) | ? | はい (v1.1+) | ? | いいえ | いいえ | はい | いいえ | はい | |
Running as a daemon | Yes (PID 1) | Yes (PID 1) | Yes (PID 1) | Yes (invoked) | Yes (PID 1) | Yes (PID 1) | Yes (PID 1) | Yes (PID 1) | Yes (sys-apps/s6-linux-init) | Yes (PID 1) | Yes (PID 1) | Yes (PID 1) | |
サービス間依存/イベント | いいえ | はい | はい | はい | いいえ | はい (基本的なサポート、v1.3+) | ? | はい | はい | はい | はい | はい | |
並列サービススタートアップ | はい | はい (オプション) | はい | はい | はい | いいえ | はい | はい | はい | はい | はい | はい | |
デーモンの死活監視 | はい | はい (オプション、v0.21+、supervise-daemon を利用して) | はい | はい | はい | はい | はい | はい | はい | はい | はい | はい | |
サービスファイルの好ましい提供者 | n/a | Gentoo | upstream | Solaris | MacOS | n/a | n/a | Void Linux | Artix Linux | Obarun | NetBSD, FreeBSD, OpenBSD | Artix Linux, Chimera Linux | |
ライセンス | GPL v2+ | 2-cl. BSD | LGPL v2.1+ | ? | Apache License 2.0 | Unlicense | MIT | BSD | ISC | ISC | BSD | Apache License 2.0 |
OpenRC と systemd の比較
機能 | OpenRC | systemd |
---|---|---|
ファイルシステムのマウント | グループ (root, local, network, swap など) 毎に 1 つのスクリプト。 | 依存関係とともに実行時に生成される、マウントポイント毎に 2 つのユニット (fsck + mount)。 |
getty (ターミナルプロンプト) | /etc/inittab または agetty スクリプトによって開始されます。 | テンプレートから必要に応じてインスタンス化される、コンソール毎に 1 つのユニット。 |
ネットワークの構成 | dhcpcd[1][2], netifrc, iwd, または NetworkManager [3] などの複数の選択肢。 | 統合された (systemd-networkd)、または先述した外部オプションのいずれかを使用して。 |
X11 ディスプレイマネージャの構成 | すべての DM に対する単一のサービス (自動 restart する必要があります)。 | 個別のディスプレイマネージャユニット。 |
関連項目
- OpenRC — システムが提供する init システムと互換性のある、Unix 系システムのための依存関係ベースの init システム (openrc-init サブ記事を確認してください)。
- Runit — lightweight process supervision suite, originally inspired by daemontools-inspired that offers fast and reliable service management.
- S6 and s6-rc-based init system — an init system built using components from the s6, s6-rc and s6-linux-init packages
- systemd — Linux システム向けの、SysV 系 init および rc の現代的な代替品です。
- User:AdibSaad/66 — 66 + 66-rc ガイド。警告: 手順の現在の対応状況は不明です。
外部資料
- s6 - Forum thread
- Forum thread
- openrc-init
- GNU shepherd - GNU OS のためのサービスマネージャ。
- Finit - Linux システムのための高速な init。
- 66tools-overlay
- Dinit
- "Comparison of Dinit with other supervision / init systems" - Dinit の開発者による