OpenRC 로고 | |
| 원저자 | 로이 마플스 |
|---|---|
| 개발자 | OpenRC 개발자 |
| 발표일 | 2007년 4월 5일 |
| 안정화 버전 | |
| 저장소 | |
| 프로그래밍 언어 | C, sh |
| 운영 체제 | 리눅스, FreeBSD, NetBSD |
| 크기 | ~1.6 MB |
| 종류 | Init 데몬 |
| 라이선스 | 2-조항 BSD 라이선스 |
| 웹사이트 | wiki |
오픈RC(OpenRC)는 유닉스 계열 운영체제를 위한 의존성 기반의 Init 시스템이다. 이는 젠투 리눅스 프로젝트에서도 활동한 NetBSD 개발자 로이 마플스가 만들었다.

오픈RC는 다음의 기본 Init 시스템 또는 프로세스 관리자이다.
오픈RC는 다음의 Init 시스템 또는 프로세스 관리자로 사용할 수 있다.
오픈RC는 여러 모듈식 구성 요소로 이루어져 있으며, 주요 구성 요소는 init(선택 사항), 핵심 의존성 관리 시스템, 데몬 관리자(선택 사항)이다. C와 POSIX 호환 셸로 작성되어 BSD 및 리눅스 시스템에서 사용할 수 있다.
오픈RC의 핵심 부분은 의존성 관리 및 init 스크립트 파싱을 처리한다. 오픈RC는 런레벨을 스캔하고, 의존성 그래프를 구축한 다음, 필요한 서비스 스크립트를 시작하여 작동한다. 스크립트가 시작되면 종료된다. 기본적으로 오픈RC는 데몬 관리를 위해 start-stop-daemon의 수정된 버전을 사용한다.
Init 스크립트는 SysVinit에서 사용되는 스크립트와 유사하지만, 스크립트 생성을 단순화하는 여러 기능을 제공한다. 스크립트는 start(), stop(), status()를 가지고 있다고 가정하며, 시스템은 이미 선언된 변수를 사용하여 기본 함수를 생성한다. depend 함수는 SysVinit에서 LSB 헤더로 수행될 다른 서비스에 대한 의존성을 선언하는 데 사용된다. 구성과 메커니즘은 conf.d 디렉토리의 구성 파일과 init.d 디렉토리의 init 파일로 분리된다.
openrc-init은 버전 0.25에서 /sbin/init의 선택적 대체품으로 처음 등장했다. 이는 젠투 리눅스의 기본 init 시스템인 SysVinit을 대체할 수 있다.
Supervise-daemon은 OpenRC에 감독 기능을 부여하며 버전 0.21에서 처음 등장했다. supervise-daemon이 데몬을 시작하고 모니터링하도록 init 스크립트에서 활성화할 수 있다. Runit 및 s6을 포함한 여러 다른 데몬 감독자가 지원된다.