OpenRC

出典: フリー百科事典『ウィキペディア(Wikipedia)』
OpenRC
作者 Roy Marples
開発元 OpenRC Developers
初版 2007年4月5日 (17年前) (2007-04-05)
最新版
0.52.1 / 2023年11月17日 (4か月前) (2023-11-17)[1]
リポジトリ ウィキデータを編集
プログラミング
言語
C[2], Shell
対応OS Linux, FreeBSD, NetBSD, TrueOS
サイズ ~900 KB
種別 initデーモン
ライセンス 二条項BSDライセンス
公式サイト www.gentoo.org/proj/en/base/openrc/
テンプレートを表示

OpenRCUnix系オペレーティングシステムにおける、依存関係ベースのinitシステムである。systemdに移行したディストリビューションの、initシステムの代替選択肢[3][4][5]であり、NetBSDGentoo 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]など他のデーモン監査もサポートされている。

機能[編集]

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

脚注[編集]

  1. ^ openrc-0.52.1”. 2023年12月24日閲覧。
  2. ^ “openrc”, Analysis Summary (Ohloh), http://www.ohloh.net/p/openrc 2012年3月10日閲覧。 
  3. ^ DistroWatch.com: Put the fun back into computing. Use Linux, BSD.”. distrowatch.com. 2020年4月4日閲覧。
  4. ^ 5 Differences Between TrueOS & Linux”. 2020年4月6日閲覧。
  5. ^ Improving TrueOS: OpenRC”. 2020年4月6日閲覧。
  6. ^ History”. 2020年4月6日閲覧。
  7. ^ Developers”. 2020年4月6日閲覧。
  8. ^ 4. Post Installation Configuration — TrueOS® User Guide” (英語). www.trueos.org. 2017年3月12日閲覧。
  9. ^ Devuan ASCII 2.0.0 stable release” (英語). 2018年7月17日閲覧。
  10. ^ user guide”. 2020年4月6日閲覧。
  11. ^ service script guide”. 2020年4月6日閲覧。
  12. ^ OpenRC
  13. ^ runit guide”. 2020年4月6日閲覧。
  14. ^ s6 Guide”. 2020年4月6日閲覧。
  15. ^ CGroups Support”. 2020年4月5日閲覧。

外部リンク[編集]