다른 init 시스템과 차별화되는 요소는 무엇입니까?


23

그것은 공식적이지는 않지만 systemd가 데비안에 온 것 같습니다. 그리고 그 결정에 대한 메일 링리스트 토론을 읽은 후, 리눅스 사용자들 사이에서 systemd의 양극화 특성에 대해 궁금합니다. 데비안 (sysvinit) 및 젠투 (OpenRC) 시스템을 실행하고 systemd에 대해서는 구체적으로 알지 못합니다.

나는 systemd vs upstart의 장단점을 묻는 이 관련 질문 을 보았지만 그 질문이 게시 된 지 3 년이 지났으며 그 당시에는 상황이 바뀌 었다고 확신합니다.

내 질문은 : systemd는 다른 init 시스템과 어떻게 비교됩니까?

  • 다른 점은 무엇입니까? 다른 init 시스템이 할 수없는 일은 무엇입니까?
  • 다른 초기화 시스템에서 전환 할 때 잃을 것이 있습니까?
  • 시스템 관리는 다른 시스템과 어떻게 비교됩니까?

1
젠투와 함께 당신은 할 수 있습니다 에 손 의 경험 systemd를 그것은 아주 쉽게 실행했다!

내가 특히 관심이있는 것은 사용자 세션입니다. 그들은 주목할만한 예외를 제외하고는 현재 잘 작동합니다. 그것은 대부분의 다른 init 시스템에 의해 실제로 무시되었다고 생각하는 것입니다.
Chris Down

@ChrisDown, 시스템 시작 / 중지 및 서비스 관리는 밀접하게 통합 된 기본 기능입니다 (따라서 "시도한 만병 통치약"은 잘못된 오해입니다). 게다가, 그것은 단지 Lennart만이 아니라, 이것을 작업하는 모든 배포판의 사람들입니다.
vonbrand

@ChrisDown, 말도 안돼. systemd이제 웹 서버를 포함하지 않거나 포함하지 않으며 로드맵에서 QR을 읽지 않습니다. 우리가 모든 중요한 배포판 을 말할 때 (현재 우분투를 제외하고) 기본으로 사용한다는 것을 고려하십시오 (오픈 소스 사람들은 공손하게 독립적 인 경향이 있습니다. 그것이 최선의 대안이라고 믿지 마십시오).
vonbrand

요즘에는 RHEL7도 함께 제공됩니다 systemd. 지옥 Py3k이 배포판에서 기본 파이썬 인터프리터가 될 때 궁금합니다 .
yegle

답변:


26

아마도 여러분이 알고 싶은 모든 것은 데비안 프로젝트가 어떤 initsystem을 사용할 것인지 결정하는 데 사용 하는 " Debate Init System To Use "페이지에 있습니다. 이 페이지에는 각 initsystems 선택에 대한 별도의 링크가 있습니다.

Systemd의 입문서를 위해이 페이지에는 RHEL7 : Systemd 시작 방법에 대해 알아야 할 모든 것이 있습니다.

내가 선택한 두 가지 주요 선택 사항을 더 잘 이해하는 데 도움이되는 추가 리소스는 해당 기술에 대한 Wikipedia 페이지도 참조하십시오.

젠투 프로젝트는 또한 다양한 초기 단계에서 주요 기능 중 일부를 훌륭하게 비교합니다.

나는 당신의 질문에

Q # 1 : systemd는 다른 init 시스템과 어떻게 비교됩니까?

이것은 SE 답변의 공간에서 다루기 매우 어려운 질문이므로 위에서 언급 한 다양한 출처를 선호합니다. 나는 이것을 말할 것이다. systemd대안 에 대한 많은 기사를 읽으면서 Linux 시스템에서 서비스를 시작하는 데 사용 된 이전 도구에서 부족한 점에 대한 많은 측면을 다루려고합니다. 그것은 매우 잘 고안된 디자인을 가지고 있으며 매우 모듈 방식으로 제공하려고 시도하고 있습니다.

시스템 구성 요소

   시스템 구성 요소의 ss

따라서 IMO는 디자인 노력, 디자인 실행 및 몇 가지 더 큰 Linux 배포판에 의한 채택 측면에서 매우 호의적으로 비교한다고 말합니다.

Q # 2 : 다른 점은 무엇입니까? 다른 init 시스템이 할 수없는 것은 무엇입니까?

sytemd다른 시스템으로는 할 수없는 것들이 많이 있습니다. 가장 강력한 기능 중 3 개는 다음과 같습니다.

  1. 벌채 반출
  2. 자원 제한
  3. 분기하는 데몬 다루기

1. 로깅

로깅 프론트 systemd에서 "Journal"이라는 새로운 로깅 시스템을 구축했으며이 서비스를이라고 systemd-journald.service합니다. 이 주제는 독자적인 주제입니다.이 기사 에서 저널 소개 라는 주제에 대해 자세히 읽을 수 있습니다 . 다음은 로그인하는 사용자 "harald"의 예입니다.

_SERVICE=systemd-logind.service
MESSAGE=User harald logged in
MESSAGE_ID=422bc3d271414bc8bc9570f222f24a9
_EXE=/lib/systemd/systemd-logind
_COMM=systemd-logind
_CMDLINE=/lib/systemd/systemd-logind
_PID=4711
_UID=0
_GID=0
_SYSTEMD_CGROUP=/system/systemd-logind.service
_CGROUPS=cpu:/system/systemd-logind.service
PRIORITY=6
_BOOT_ID=422bc3d271414bc8bc95870f222f24a9
_MACHINE_ID=c686f3b205dd48e0b43ceb6eda479721
_HOSTNAME=waldi
LOGIN_USER=500

2 & 3. 자원 제한 및 분기 데몬

systemd여기서는 cgroups리소스에 대한 액세스를 포크하거나 제한해야하는 모든 서비스를 포함하고 리소스를 제한하는 데 사용하는 새로운 접근 방식을 사용 합니다.

발췌

Systemd는 동시에 데몬 제한을 처리하는 데몬을 추적하는 데몬 추적 문제에 대한 매우 영리한 솔루션을 보유하고 있습니다. Upstart가 ptrace를 사용하여 분기를 감시하는 경우 systemd는 제어 그룹 (Linux 2.6.24 이상 필요)에서 각 데몬을 실행합니다. 이것은 제어 그룹이 이런 종류의 것을 위해 만들어 졌기 때문에 포크 및 비 포크 데몬 모두에 대한 쉬운 자원 제한을 허용합니다.

출처 : 데몬 대결 : 신생 대 런트 대 시스템 대 서커스 대 신

Q # 3 : 다른 init 시스템으로 전환 할 때 잃을 것이 있습니까?

아마도 Upstart 또는 sysV init를 통해 시스템으로 전환 할 때 가장 큰 경고는 많은 새로운 복잡성을 수용해야한다는 것입니다. Systemd는 움직이는 부분이 많고 기능이 풍부하고 기능이 추가되어 모든 작동 방식에 대해 이해하는 데 상당한 시간을 소비 할 수 있습니다.

Q # 4 : 시스템 관리는 다른 시스템과 어떻게 비교됩니까?

Q # 3에 대한 위의 답변에 명시된 바와 같이. 다시 한 번 반복하겠습니다. sysV init가 몇 시간에서 며칠 동안 관리하고 탐색하는 방법을 배우는 것이 사소한 경우 Upstart는 속도를 높이는 데 일주일 이상이 걸리고 systemd는 훨씬 더 오래 걸릴 수 있습니다. .servicesysV init에서 즐기는 것과 똑같이 편리하게 서비스를 중지 / 시작할 수있는 자체 파일을 생성 할 수있는 충분한 정보를 얻을 수 있습니다.

참고 문헌


@ Caleb,이 문제는 매우 복잡하며 더 많은 사람들에게 감동적인 문제입니다. 나는 대답이 괜찮다고 믿습니다.
vonbrand

@ Caleb-예, 의견을 보내 주셔서 감사합니다.
slm
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.