factograf
JA
ログイン

OpenRC

OpenRC
インフォボックスの全データ 11
作者
Roy Marples
開発元
OpenRC Developers
初版
2007年4月5日
最新版
0.62.5 / 2025年6月29日
リポジトリ
github.com/OpenRC/openrc
プログラミング言語
C, Shell
対応OS
Linux, FreeBSD, NetBSD, TrueOS
サイズ
~900 KB
種別
initデーモン
ライセンス
二条項BSDライセンス
公式サイト
www.gentoo.org/proj/en/base/openrc/

OpenRCはUnix系オペレーティングシステムにおける、依存関係ベースのinitシステムである。systemdに移行したディストリビューションの、initシステムの代替選択肢であり、NetBSDとGentoo Linuxで活躍する開発者、Roy Marplesによって開発された。

OpenRCはTrueOS、Gentoo Linux、Alpine Linuxや他のUnix系システムにおいてデフォルトのinitシステムであり、Devuanなどのシステムではオプションとして提供されている。

設計

OpenRCのコア部分は、依存関係の管理とinitスクリプトの解析を行う。OpenRCはランレベルをスキャンし、依存関係のグラフを作り、必要なサービスのスクリプトを開始する。スクリプトが開始されたあとはOpenRCは退出する。デフォルトでは、OpenRCは改変されたバージョンのstart-stop-daemonをデーモン管理に用いている。

initスクリプトは、SysVinitで用いられるものと同様であるが、その作成の簡素化のため、いくつかの機能が提供されている。スクリプトは、start()、stop()、status()の状態が推定され、システムはデフォルトの機能を作るために既に宣言された変数を用いる。依存機能は、SysVinitにおけるLSBヘッダーによってなされる他のサービスへの依存関係の宣言に用いられる。設定と動作機構は、conf.dディレクトリ中の設定ファイルとinit.dディレクトリ中のinitファイルに分離されている。

Openrc-initは最初、バージョン0.25において/sbin/initのオプションの代替物として登場した。SysVinitやBusyboxなどの他のinitもサポートされている。

Supervise-daemonは、バージョン0.21において、OpenRCに監査機能を提供するために登場した。この機能はinitスクリプト中でデーモンの開始とモニタリングのために有効化される。runitやs6など他のデーモン監査もサポートされている。

機能

  • Linux、TrueOS、FreeBSD、NetBSDに移植可能
  • 並行したサービスの起動(デフォルトではオフになっている)
  • 依存関係ベースの起動
  • cgroups経由でのプロセスの分離
  • サービスごとのリソースの制限 (ulimit)
  • コードと設定の分離 (init.d/conf.d)
  • 拡張可能な起動スクリプト
  • 状態の把握が可能なinitスクリプト
  • SambaやNFSなど複数のコンポーネントを開始する複雑なinitスクリプト
  • 自動による依存関係の計算と、サービスのオーダリング
  • モジュール化されたアーキテクチャとオプションのコンポーネントの分離(CronやSyslogなど)
  • 高速で柔軟なネットワークの利用(VPNやブリッジなどを含む)
  • デバッグモード

次に読む

15の言語

ウィキペディアのテキスト、CC BY-SA 4.0 · 元の記事