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 の開発者による