상위 질문
타임라인
채팅
관점

오픈RC

위키백과, 무료 백과사전

오픈RC
Remove ads

오픈RC(OpenRC)는 유닉스 계열 운영체제를 위한 의존성 기반의 Init 시스템이다. 이는 젠투 리눅스 프로젝트에서도 활동한 NetBSD 개발자 로이 마플스가 만들었다.[2][3]

Thumb
오픈RC로 아틱스 리눅스 부팅 중
부팅 과정
간략 정보 원저자, 개발자 ...

채택

오픈RC는 다음의 기본 Init 시스템 또는 프로세스 관리자이다.

오픈RC는 다음의 Init 시스템 또는 프로세스 관리자로 사용할 수 있다.

설계

오픈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]

각주

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads