作者 | Roy Marples |
---|---|
開発元 | OpenRC Developers |
初版 | 2007年4月5日 |
最新版 |
0.52.1
/ 2023年11月17日[1] |
リポジトリ | |
プログラミング 言語 | C[2], Shell |
対応OS | Linux, FreeBSD, NetBSD, TrueOS |
サイズ | ~900 KB |
種別 | initデーモン |
ライセンス | 二条項BSDライセンス |
公式サイト |
www |
OpenRCはUnix系オペレーティングシステムにおける、依存関係ベースのinitシステムである。systemdに移行したディストリビューションの、initシステムの代替選択肢[3][4][5]であり、NetBSDとGentoo Linuxで活躍する開発者、Roy Marplesによって開発された[6][7]。
OpenRCはTrueOS[8]、Gentoo Linux、Alpine Linuxや他のUnix系システムにおいてデフォルトのinitシステムであり、Devuan[9]などのシステムではオプションとして提供されている。
OpenRCのコア部分は、依存関係の管理とinitスクリプトの解析を行う。OpenRCはランレベルをスキャンし、依存関係のグラフを作り、必要なサービスのスクリプトを開始する。スクリプトが開始されたあとはOpenRCは退出する。デフォルトでは、OpenRCは改変されたバージョンのstart-stop-daemonをデーモン管理に用いている[10]。
initスクリプトは、SysVinitで用いられるものと同様であるが、その作成の簡素化のため、いくつかの機能が提供されている。スクリプトは、start()、stop()、status()の状態が推定され、システムはデフォルトの機能を作るために既に宣言された変数を用いる[11]。依存機能は、SysVinitにおけるLSBヘッダーによってなされる他のサービスへの依存関係の宣言に用いられる。設定と動作機構は、conf.dディレクトリ中の設定ファイルとinit.dディレクトリ中のinitファイルに分離されている。
Openrc-initは最初、バージョン0.25において/sbin/initのオプションの代替物として登場した。SysVinitやBusyboxなどの他のinitもサポートされている[12]。
Supervise-daemonは、バージョン0.21において、OpenRCに監査機能を提供するために登場した。この機能はinitスクリプト中でデーモンの開始とモニタリングのために有効化される。runit[13]やs6[14]など他のデーモン監査もサポートされている。