상위 질문
타임라인
채팅
관점
오픈RC
위키백과, 무료 백과사전
Remove ads
오픈RC(OpenRC)는 유닉스 계열 운영체제를 위한 의존성 기반의 Init 시스템이다. 이는 젠투 리눅스 프로젝트에서도 활동한 NetBSD 개발자 로이 마플스가 만들었다.[2][3]

채택
오픈RC는 다음의 기본 Init 시스템 또는 프로세스 관리자이다.
오픈RC는 다음의 Init 시스템 또는 프로세스 관리자로 사용할 수 있다.
- 아틱스 리눅스
- 데부안[5]
- 파라볼라 GNU/리눅스-리브레
- 아치 리눅스 (아치 사용자 저장소를 통해 사용 가능)[6]
- PostmarketOS[7]
- 데비안[8]
설계
오픈RC는 여러 모듈식 구성 요소로 이루어져 있으며, 주요 구성 요소는 init(선택 사항), 핵심 의존성 관리 시스템, 데몬 관리자(선택 사항)이다. C와 POSIX 호환 셸로 작성되어 BSD 및 리눅스 시스템에서 사용할 수 있다.
오픈RC의 핵심 부분은 의존성 관리 및 init 스크립트 파싱을 처리한다. 오픈RC는 런레벨을 스캔하고, 의존성 그래프를 구축한 다음, 필요한 서비스 스크립트를 시작하여 작동한다. 스크립트가 시작되면 종료된다. 기본적으로 오픈RC는 데몬 관리를 위해 start-stop-daemon의 수정된 버전을 사용한다.[9]
Init 스크립트는 SysVinit에서 사용되는 스크립트와 유사하지만, 스크립트 생성을 단순화하는 여러 기능을 제공한다. 스크립트는 start(), stop(), status()를 가지고 있다고 가정하며, 시스템은 이미 선언된 변수를 사용하여 기본 함수를 생성한다.[10] depend 함수는 SysVinit에서 LSB 헤더로 수행될 다른 서비스에 대한 의존성을 선언하는 데 사용된다. 구성과 메커니즘은 conf.d 디렉토리의 구성 파일과 init.d 디렉토리의 init 파일로 분리된다.
openrc-init은 버전 0.25에서 /sbin/init의 선택적 대체품으로 처음 등장했다. 이는 젠투 리눅스의 기본 init 시스템인 SysVinit을 대체할 수 있다.[11]
Supervise-daemon은 OpenRC에 감독 기능을 부여하며 버전 0.21에서 처음 등장했다. supervise-daemon이 데몬을 시작하고 모니터링하도록 init 스크립트에서 활성화할 수 있다. Runit[12] 및 s6[13]을 포함한 여러 다른 데몬 감독자가 지원된다.
Remove ads
기능
- 리눅스, FreeBSD, NetBSD 간 이식 가능
- 병렬 서비스 시작 (기본적으로 비활성화)
- 의존성 기반 부팅
- Cgroups를 통한 프로세스 분리[14]
- 서비스별 리소스 제한 (ulimit)
- 코드와 구성 분리 (init.d / conf.d)
- 확장 가능한 시작 스크립트
- 상태 저장 init 스크립트 (이미 시작되었는가?)
- 여러 구성 요소 시작을 위한 복잡한 init 스크립트 (삼바 [smbd 및 nmbd], NFS [nfsd, portmap 등])
- 자동 의존성 계산 및 서비스 순서 지정
- 모듈식 아키텍처 및 선택적 구성 요소 분리 (Cron, 시스로그)
- 표현력 있고 유연한 네트워크 처리 (VPN, 브리지 등 포함)
- 자세한 디버그 모드
- 사용자 서비스[15]
각주
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads

