Guix에서 개발한 서비스 관리자 GNU Shepherd

마지막 메이저 버전이 형성된 지 XNUMX년이 지난 후, 의 출시를 발표할 때 발표되었습니다. 새 버전의 서비스 관리자 GNU 셰퍼드 0.9 (이전에는 dmd로 알려짐) GNU Guix 배포판 개발자가 개발 시스템 종속성 인식 SysV-init 초기화의 대안으로.

목자 사용자 공간 기능을 서비스로 비동기적으로 제공, Shepherd에서 정의된 방식으로 기본 운영 체제를 확장하기 위해 Shepherd에서 사용하도록 내보낸 일반 함수 및 개체 데이터 유형입니다. systemd와 달리 사용자 공간 모니터링 프로세스는 해당 사용자로 실행됩니다.

셰퍼드 소개

사용자 공간 초기화의 셰퍼드 모델의 핵심은 확장의 개념이며, 서비스가 다른 서비스를 오버레이하도록 설계되어 원하는 대로 더 정교하거나 전문화된 동작으로 서비스를 보강하는 구성 가능성의 한 형태입니다. 이것은 많은 최신 부트 시스템에서 발견되는 인스턴스화 기반 종속 관계를 나타냅니다. 시스템을 모듈화하지만 서비스가 서로 가변적으로 상호 작용할 수 있습니다. 임의로 서비스합니다.

목자 또한 소위 가상 서비스를 제공합니다. 시스템의 메일 전송 에이전트(MTA)를 인스턴스화하는 것과 같은 관련 서비스 개체 클래스에 대한 동적 디스패치를 ​​허용합니다.

Shepherd 데몬이 관리하는 시스템은 "시스템 서비스"(초기 부팅 및 시작 단계를 담당)를 루트로, 모든 후속 초기화 서비스를 시스템 서비스 기능의 확장으로 사용하여 사용자 공간을 방향성 비순환 그래프로 나타낼 수 있습니다. , 다른 서비스를 통해 직접 또는 전이적입니다.

Guile Scheme로 작성되고 구성되며, GNU Shepherd는 고도로 프로그래밍 가능하도록 설계되었습니다. 시스템 관리자가 사용하지만 권한이 없는 데몬 및 서비스의 사용자별 프로필을 관리하는 데 사용할 수도 있습니다.

서비스 및 설정이 Scheme 코드로 균일하게 저장됩니다. 기본 Guix 시스템으로 핵심 서비스 집합을 제공하지만, 임의의 새로운 서비스를 유연하게 선언할 수 있으며 Guile의 객체 시스템인 GOOPS를 통해 기존 서비스를 사용자의 재량으로 재정의할 수 있습니다. 인스턴스화에 대한 특정 방법.

GNU Shepherd는 원래 GNU Hurd와 함께 작동하도록 설계되었으며 나중에 Guix 시스템에 채택되었습니다.

GNU Shepherd 0.9의 주요 새로운 기능

제시된 이 새로운 버전에서는 다음과 같이 강조됩니다. 임시 서비스의 개념이 구현됩니다. (일시적인) 프로세스 종료 또는 "중지" 메서드 호출로 인해 종료 후 자동으로 연결이 끊어지며 종료 후 다시 시작할 수 없는 합성 서비스에 필요할 수 있습니다.

눈에 띄는 또 다른 변화는 ""#:log-file" 매개변수가 없는 서비스의 경우, syslog에 대한 출력이 제공됩니다. "#:log-file" 매개변수가 있는 서비스의 경우 로그는 $XDG_DATA_DIR 디렉터리에 저장된 권한 없는 Shepherd 프로세스의 로그 시간을 나타내는 별도의 파일에 기록됩니다.

또한 inetd와 유사한 서비스를 생성하기 위해 "make-inetd-constructor" 절차가 추가되었고 네트워크 활동(스타일 시스템 소켓 활성화).

다른 변경 사항 중 이 새 버전에서 눈에 띄는 :

  • 백그라운드 서비스를 시작하는 절차를 추가했습니다.
  • "make-forkexec-constructor" 절차에 ":supplementary-groups", "#:create-session" 및 "#:resource-limits" 매개변수를 추가했습니다.
  • PID 파일을 기다리는 동안 잠금 없는 작동을 보장합니다.
  • Guile 2.0으로 컴파일하기 위한 지원을 제거했습니다. Guile 버전 3.0.5-3.0.7을 사용할 때 문제가 수정되었습니다.
  • 이제 Fibers 라이브러리 1.1.0 이상이 작동해야 합니다.
  • 개선된 문서 및 예제
  • Shepherd는 더 이상 Guile 2.0으로 건설할 수 없습니다.
  • Guile 3.0 컴파일러 버그 수정.[5-7]
  • 업데이트 된 번역

최종적으로 그것에 대해 더 많이 알고 싶다면 또는 이 새 버전을 얻으려면 세부 정보, 설명서를 참조하고 다음에서 다운로드할 수 있습니다. 다음 링크.


코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자 : Miguel Ángel Gatón
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.