시스템

systemd
시스템
Systemd-logo.svg
Systemd-on-fedora.svg
Fedora 17에서의 systemd 부팅
원저작자레나르트 포테링[1]
개발자Red Hat (레나트 포테링, 케이 시버스, 하랄드 호이어, 다니엘 맥, 톰 군더슨, 데이비드 허먼)[2]2018년 345명의 다른 작가, 총[3] 1,317명의 다른 작가
초기 릴리즈2010년 3월 30일, 12년 전(2010-03-30)
안정된 릴리스
2022년[4][5] 5월 21일 / 251일
저장소
기입처C
운영 체제리눅스
유형
면허증.LGPLv2.1+[6]
웹 사이트시스템이오

systemd는 Linux 운영체제용[7] 시스템컴포넌트의 배열을 제공하는 소프트웨어 스위트입니다.주요 목적은 Linux [8]디스트리뷰션 전체에서 서비스 구성과 동작을 통합하는 것입니다.주요 컴포넌트는 "시스템 및 서비스 매니저"입니다.이 시스템은 사용자 공간을 부트스트랩하고 사용자 프로세스를 관리하기 위해 사용됩니다.또한 디바이스 관리, 로그인 관리, 네트워크 연결 관리, 이벤트 로깅 등 다양한 데몬 및 유틸리티에 대한 대체 기능도 제공합니다.systemd라는 이름은 문자 [9]d를 추가하여 데몬을 명명하는 Unix 규칙을 준수합니다.또한 문제를 [10]해결하기 위해 빠르게 적응하고 즉흥적으로 대처할 수 있는 능력을 나타내는 "시스템 D"라는 용어를 사용합니다.

2015년 이후 Linux 배포판의 대부분은 Systemd를 채택하여 SysV init과 같은 다른 init 시스템을 대체하였습니다.이 솔루션을 채택한 디스트리뷰션의 개발자와 유저로부터는,[11][12][13] 수년간 Linux 공간에 존재해 온 문제에 대해서, 안정적이고, 곧바로 사용할 수 있는 솔루션을 제공한다는 평가를 받고 있습니다.대부분의 Linux 디스트리뷰션에서 systemd를 채택할 당시 프로세스, 데몬, 서비스 및 마운트 포인트의 일원 관리뿐만 아니라 부팅 시 신뢰성 높은 병렬 처리를 제공하는 유일한 소프트웨어 스위트였습니다.

systemd의 반대론자들은 이것이 미션 크리프와 플래트로 인해 어려움을 겪고 있다고 주장합니다. 후자는 다른 소프트웨어(GNOME 데스크톱 등)에 영향을 미쳐 systemd에 대한 의존성을 증가시키고 다른 Unix와 유사한 운영 체제와의 호환성을 복잡하게 하여 이전을 어렵게 합니다.Red Hat과 그 모회사인 IBM이 [14][1]Linux에서 초기 시스템의 현장을 통제하는 것에 대한 우려도 제기되었습니다.반대론자들은 또한 systemd의 복잡성으로 인해 공격 표면이 커지고 플랫폼의 [15]전체적인 보안이 저하된다고 주장합니다.


역사

Red [2]Hat에서 일하는 소프트웨어 엔지니어인 Lennart Poetering과 Kay Sivers는 [16]2010년에 Linux의 기존 System V init를 대체하는 프로젝트를 시작했습니다.Poettering의 2010년 4월 블로그 투고 "Resinking PID 1"은 나중에 systemd가 [17]될 실험 버전을 소개했습니다.이들은 여러 가지 방법으로 init 데몬의 효율성을 능가하려고 했습니다.그들은 의존성을 표현하기 위한 소프트웨어 프레임워크를 개선하고, 시스템 부팅 중에 더 많은 처리를 동시에 또는 병렬로 수행할 수 있도록 하며, 의 계산 오버헤드를 줄이기를 원했다.

2011년 5월 Fedora는 Linux의 주요 디스트리뷰션 중 최초로 systemd를 활성화하여 Upstart를 대체하였습니다.그 당시 이유는 시스템이 기동 시에 광범위한 병렬화, 프로세스 관리 개선, 시스템 [18]제어에 대한 보다 건전하고 의존적인 접근방식을 제공했기 때문입니다.

2012년 10월 Arch Linux는 systemd를 기본 설정으로 하여 SysVinit에서 [19]전환하였습니다.개발자들은 2012년 8월부터[13] 논의해 왔으며, SysVinit보다 더 빠르고 더 많은 기능을 가지고 있으며,[20] 후자를 유지하는 것은 패치 적용에 있어 노력을 기울일 가치가 없다는 결론에 도달했습니다.그들 중 일부는 systemd의 실장에 대한 비판은 소프트웨어의 실제 단점이 아니라 Linux 커뮤니티의 일부에서 Lennart를 싫어하고 변화에 대한 일반적인 망설임 때문이라고 생각했다.구체적으로는 bash에서 프로그래밍되지 않은 시스템, SysVinit보다 크고 광범위한 시스템, D-bus의 사용, 저널의 옵션 온디스크 포맷에 대한 불만이 프로그래머에 [21]의해 장점으로 간주되었습니다.

2013년 10월부터 2014년 2월 사이에 Debian [22]8의 "jessie"에서 어떤 초기 시스템을 디폴트로 사용할지에 대해 Debian Technical Committee 간에 오랜 논쟁이 벌어졌고, 결국 systemd에 유리한 결정을 내리게 되었다.토론은 널리[23][24] 알려졌고 그 결정의 결과로 데비안 메일링 리스트에 대한 토론은 계속된다.2014년 2월, Debian의 결정이 내려진 후, Mark ShuttleworthUbuntu자체 [25][26]Upstart를 버리고 systemd를 구현할 것이라고 자신의 블로그에 발표했다.

2014년 11월, Debian Developer Joey [27]Hess, Debian Technical Committee Russ[28] Allbery 및 Ian [29]Jackson, 및 systemd 패키지 관리자인 Tollef Fog[30] Heen은 사임했습니다.4명 모두, Debian FOSS 커뮤니티내의 Systemd 통합에 관한 현재 진행중의 분쟁에 관한 스트레스 레벨에 대해서, 공개적인 Debian 메일링 리스트나 개인 블로그에서의 결정을 정당화해, 정기적인 유지보수가 사실상 불가능하게 되었다.

2015년 8월부터 systemd는 머신넥틀 [31]셸을 통해 호출 가능한 로그인 셸을 제공하기 시작했습니다.

2016년 9월에는 권한이 없는 모든 사용자가 systemd에 대해 서비스 거부 공격을 수행할 수 있는 보안 버그가 발견되었습니다.[32]Musl 개발자인 Rich Felker는 이 버그가 "시스템 개발 설계상의 큰 결함"[33]을 드러낸다고 말했습니다.2017년에 systemd에서 또 다른 보안 버그가 발견되었습니다. CVE-2017-9445: "악성 DNS 서버"[34][35]에 의한 "서비스 중단 허용"이후 2017년 Pwnie Awards는 취약성에 [36]대한 대처로 작가 Lennart Poetering에게 "최고의 벤더 대응" 상을 수여했습니다.

설계.

Tizen이 사용하는 systemd의 아키텍처.다음과 같은 몇 가지 systemd 타깃이 있습니다.telephony,bootmode,dlog,그리고.tizen serviceTizen의 제품으로 systemd의 [37]컴포넌트가 아닙니다.
통합 계층형 cgroup은 systemd에 의해 단독으로 액세스 할 수 있습니다.systemd-nspawn[38]

Poetering은 systemd 개발을 "완성되지 않고, 완성되지 않고, 그러나 기술의 진보를 추적한다"고 표현합니다.2014년 5월, Poetering은 systemd를 다음과 같은 세 가지 일반적인 [39]기능을 제공함으로써 "배포 간의 의미 없는 차이"를 통합하는 것으로 설명했습니다.

  • 시스템 및 서비스 매니저(다양한 구성과 서비스를 적용하여 시스템을 모두 관리)
  • 소프트웨어 플랫폼(다른 소프트웨어 개발의 기초로서 기능)
  • 애플리케이션커널 간의 접착제(커널이 제공하는 기능을 제공하는 다양한 인터페이스 제공)

Systemd에는 데몬 온디맨드 시작, 스냅샷 지원, 프로세스[40] 추적 및 인히비터 잠금 [41]등의 기능이 포함되어 있습니다.이것은 init 데몬 이름뿐만 아니라 systemd init 데몬 외에 daemons journald, logindnetworkd 및 기타 많은 하위 수준의 컴포넌트를 포함하는 그 주변의 소프트웨어 번들 전체를 의미합니다.2013년 1월, Poettering은 systemd를 하나의 프로그램이 아니라 69개의 개별 [42]바이너리를 포함하는 대규모 소프트웨어 스위트로 설명했습니다.통합 소프트웨어 스위트로서 systemd는 기존의 init 데몬에 의해 제어되는 스타트업 시퀀스 및 런레벨과 그 제어 하에 실행되는 셸 스크립트를 대체합니다.systemd는 사용자 로그인, 시스템콘솔, 디바이스 핫플러그(udev 참조), 스케줄링된 실행(cron 대체), 로깅, 호스트 이름 및 로케일을 처리함으로써 Linux 시스템에서 공통적인 다른 많은 서비스도 통합합니다.

init 데몬과 마찬가지로 systemd백그라운드프로세스인 systemd 자체를 포함한 다른 데몬을 관리하는 데몬입니다.systemd는 부팅 에 처음 시작하는 데몬과 셧다운 중에 마지막으로 종료되는 데몬입니다.systemd 데몬은 사용자 공간의 프로세스 트리의 루트로 기능합니다.첫 번째 프로세스(PID 1)는 원래 부모가 종료될 때 프로세스의 부모를 대체하기 때문에 UNIX 시스템에서 특별한 역할을 합니다.따라서 첫 번째 공정은 데몬을 모니터링하는 데 특히 적합합니다.

systemd는 스타트업 시퀀스의 요소를 병렬로 실행합니다.이것은 이론적으로 기존의 스타트업 시퀀스 [43]접근법보다 고속입니다.프로세스통신(IPC)의 경우 systemd는 실행 중인 데몬에서 Unix 도메인 소켓 및 D-Bus를 사용할 수 있도록 합니다.systemd 상태 자체는 나중에 리콜할 수 있도록 스냅샷에 보존할 수도 있습니다.

핵심 컴포넌트 및 라이브러리

통합 접근법에 따라 systemd는 스타트업 셸 스크립트, pm-utils, inetd, acpid, syslog, watchdog, cron 및 atd의 핵심 컴포넌트 등 다양한 데몬 및 유틸리티에 대한 대체 기능도 제공합니다.

  • systemd는 Linux 운영체제용 시스템 및 서비스 매니저입니다.
  • systemctl은 systemd 시스템 및 서비스 매니저의 상태를 검토하고 제어하는 명령어입니다.sysctl과 혼동하지 마십시오.
  • systemd-module을 사용하여 시스템부트업 퍼포먼스 통계정보를 판별하고 시스템 및 서비스 매니저에서 기타 상태 및 트레이스 정보를 취득할 수 있습니다.

systemd는 프로세스 식별자(PID) 대신 Linux 커널의 cgroups 서브시스템을 사용하여 프로세스를 추적합니다.따라서 데몬은 이중 포킹으로도 systemd를 "회피"할 수 없습니다.systemd는 cgroup을 사용할 뿐만 아니라 Linux [44]컨테이너의 작성과 관리를 용이하게 하는 두 가지 유틸리티 프로그램인 systemd-nspawnmachinectl을 사용하여 확장합니다.버전 205 이후 systemd는 Control Group도 제공하고 있습니다.Linux 커널 [45]cgroup에 대한 API입니다.Linux 커널 cgroup은 kernf[46]지원하도록 조정되었으며 통합 [47]계층을 지원하도록 수정되었습니다.

보조 컴포넌트

systemd 스위트는 Linux init 시스템을 제공하는 주된 목적 외에 다음 컴포넌트를 포함한 추가 기능을 제공할 수 있습니다.

systemd-boot 스크린샷
timedatectl 스크린샷
저널
systemd-journald이벤트로깅담당하는 데몬으로 추가 전용 바이너리 파일이 로그 파일 역할을 합니다.시스템 관리자는 시스템 이벤트를 systemd-journd, syslog-ng 또는 rsyslog 중 어느 것으로 기록할지 선택할 수 있습니다.바이너리 포맷의 부패 가능성은 많은 뜨거운 [48]논쟁으로 이어졌다.
libudev
libudev는 타사 애플리케이션이 udev 리소스를 쿼리할 수 있도록 하는 udev를 활용하기 위한 표준 라이브러리입니다.
로컬의
로그인드
systemd-logind는 다양한 방법으로 사용자 로그인과 시트를 관리하는 데몬입니다.통합 로그인 매니저로 멀티시트[49] 개선하여 ConsoleKit을 대체하며,[50] ConsoleKit은 더 이상 유지 보수되지 않습니다.X11 디스플레이 매니저의 경우 로그인에 필요한 스위치는 최소한의 [51]포팅입니다.systemd 버전 30으로 통합되었습니다.
네트워크
networkd는 네트워크인터페이스의 설정을 처리하는 데몬입니다.버전 209에서는 처음 통합되었을 때 지원은 스태틱하게 할당된 주소 및 브리징 설정[52][53][54][55][56]대한 기본 지원으로 제한되었습니다.2014년 7월에 IPv4 호스트용 DHCP 서버 및 VXLAN [57][58]지원 등의 새로운 기능이 추가된 systemd 버전 215가 출시되었습니다. networkctl는 systemd-networkd에 [59]의해 인식되는 네트워크 링크 상태를 확인하기 위해 사용할 수 있습니다.새 인터페이스 설정은 .network 확장자로 끝나는 새 파일로 /lib/systemd/network/ 아래에 추가해야 합니다.
해결했다
systemd 부팅
systemd-boot는 부트 매니저로 이전에는 gummiboot으로 알려져 있었습니다.Kay Sivers가 220 리비전과 함께 systemd에 통합했습니다.
타이밍이 설정된
systemd-timed는 시스템 시각, 시스템 시간대, UTC와 로컬 시간대 시스템클럭의 선택 등 시각 관련 설정을 제어하기 위해 사용할 수 있는 데몬입니다.D-Bus를 [60]통해 접근할 수 있습니다.systemd 버전 30으로 통합되었습니다.
시간 동기
tmp 파일
systemd-tmpfiles는 임시 파일 및 디렉토리의 작성 및 정리를 처리하는 유틸리티입니다.일반적으로 시작 시 한 번 실행된 후 지정된 간격으로 실행됩니다.
모니터
udevLinux 커널용 디바이스 매니저로 /dev 디렉토리와 펌웨어 로드를 포함한 디바이스 추가/삭제 시 모든 사용자 공간 액션을 처리합니다.2012년 4월에 udev의 소스 트리가 systemd 소스 [61][62]트리에 병합되었습니다.
2014년 5월 29일 커널이 펌웨어 [63]로드를 담당하기로 결정되었기 때문에 udev를 통한 펌웨어 로딩 지원이 systemd에서 해제되었습니다.

systemd 설정

systemd-manager, systemd를 설정하기 위한 도구

systemd플레인텍스트 파일을 사용하여 배타적으로 설정됩니다.

systemd디폴트 언어를 사용하는 컨피규레이션파일(「유닛 파일」이라고 불림)에 각 데몬의 초기화 순서를 기록합니다.이것에 의해, 종래에 사용되고 있던 기동스크립트가 대체됩니다.언어의 구문은 .ini [64]파일에서 영감을 받았습니다.

유닛 파일유형은[65] 다음과 같습니다.

  • .서비스
  • .disclosed(비활성화)
  • .device(systemd에[66] 의해 자동으로 시작됨)
  • .마운트
  • .자동 마운트
  • .바꾸다
  • 타겟
  • .경로.
  • .timer(cron과 같은 작업스케줄러[67] 사용 가능)
  • .disclosed(비활성화)
  • .timeout (프로세스 및 자원[68] 그룹화 및 관리에 사용)
  • .dev (워커 프로세스를 그룹화하기 위해 사용되며 유닛[69] 파일을 통해 구성되는 것은 아닙니다)

도입

Linux 디스트리뷰션 소프트웨어 저장소[a] 추가된 날짜 디폴트로 유효하게 되어 있습니까? 기본값으로 릴리스된 날짜 없이 달린다?
알파인 리눅스 없음(저장소에 없음) 아니요. 네.
안드로이드 없음(저장소에 없음) 아니요. 네.
Arch Linux 2012년 1월[70] 네. 2012년 10월[71] 아니요.
안티X Linux 없음(저장소에 없음) 아니요. 네.
아틱스 리눅스 없음(저장소에 없음) 아니요. 네.
CentOS 2014년 7월 네. 2014년 7월 (v7.0) 아니요.
코어 OS 2013년 7월 네. 2013년 10월 (v94.0.0)[72][73] 아니요.
데비안 2012년 4월[74] 네. 2015년 4월 (v8.0)[75] 제시는 systemd [76]없이 설치를 지원하는 마지막 릴리스입니다.bullseye에서는 많은 대체 초기 시스템이 지원됩니다.
데부안 없음(저장소에 없음) 아니요. 네.
페도라 2010년 11월 (v14)[77] 네. 2011년 5월 (v15) 아니요.
젠투 리눅스[b] 2011년 7월[78][80][81] 아니요. 네.
GNU Guix 시스템 없음(저장소에 없음) 아니요. 네.
노픽스 없음 아니요. 네.
리눅스 민트 2016년 6월 (v18.0) 네. 2018년 8월 (LMDE 3) 아니요.
마지아 2011년 1월 (v1.0)[85] 네. 2012년 5월 (v2.0)[86] 아니요.
만자로 리눅스 2013년 11월 네. 2013년 11월 아니요.
오픈서스 2011년 3월 (v11.4)[88] 네. 2012년 9월 (v12.2)[89] 아니요.
포물선 GNU/Linux-libre 2012년 1월[70] 옵션[90] 없음 네.
Red Hat Enterprise Linux 2014년 6월 (v7.0)[91] 네. 2014년 6월 (v7.0) 아니요.
슬랙웨어 없음(저장소에 없음) 아니요. 네.
솔러스 없음 네. 없음 아니요.
소스 마법사 2011년 6월[92] 아니요. 네.
SUSE Linux Enterprise Server 2014년 10월 (v12) 네. 2014년 10월 (v12) 아니요.
우분투 2013년 4월 (v13.04) 네. 2015년 4월 (v15.04) Yaketty에서 업스타트 옵션 삭제(16.10)[93][94][c]
무효 Linux 2011년 6월 2015년 6월 삭제 아니요. 없음 네.

디폴트로는 많은 디스트리뷰션이 systemd를 부트하지만 다른 init 시스템을 사용할 수 있는 것도 있습니다.이 경우 적절한 패키지를 설치하면 init 시스템을 전환할 수 있습니다.Devuan이라는 이름의 Debian 포크는 systemd를[96][97] 피하기 위해 개발되었으며 안정적인 사용을 위해 버전 4.0에 도달했습니다.2019년 12월, Debian 프로젝트는 유통을 위한 기본 초기 시스템으로 systemd를 유지하는 것에 찬성표를 던졌지만, "대안 모색"[98]에 대한 지지를 받았다.

다른 소프트웨어와의 통합

systemd와 GNOME 데스크톱 환경 간의 상호운용성을 강화하기 위해 systemd의 공동저자인 Lennart Poetering은 GNOME 프로젝트에 systemd를 GNOME 3.2의 [99]외부 의존관계로 만들 것을 요청했습니다.

2012년 11월 GNOME Project는 기본적인 GNOME 기능을 [100]systemd에 의존해서는 안 된다는 결론을 내렸습니다.그러나 GNOME 3.8은 logind와 ConsoleKit API 사이에서 컴파일 시간 선택을 도입하였으며, 이 API는 당시 systemd에 의해서만 제공되었습니다.Ubuntu는 별도의 logind 바이너리를 제공했지만, 대부분의 Linux 디스트리뷰션에서는 systemd가 사실상 GNOME에 의존하게 되었습니다.특히 ConsoleKit은 더 이상 활성화되지 않고 [101]업스트림에서는 대신 systemd-logind 사용을 권장하고 있습니다.Gentoo Linux 개발자도 OpenRC에서 이러한 변경 사항을 적용하려고 시도했지만 구현에 너무 많은 버그가 포함되어 배포가 [102][103]GNOME의 종속성으로 표시되었습니다.

GNOME에는 로그인드가 한층 [104]더 통합되어 있습니다.Mutter 버전 3.13.2에서 logindWayland [105]세션의 종속성이 됩니다.

접수처

systemd의 디자인은 자유 소프트웨어 커뮤니티 내에서 논쟁을 불러일으켰다.비평가들은 systemd가 지나치게 복잡하고 지속적인 기능 크리프로 인해 어려움을 겪고 있다고 보고, 그 아키텍처가 Unix 철학을 위반한다고 주장한다.또한 연동 종속성 시스템을 형성하고, 따라서 더 많은 사용자 공간 소프트웨어가 그 구성요소에 의존하게 되면서 유통 관리자들이 systemd를 채택할 수밖에 없다는 우려도 있습니다. 이는 Lennart Poettering에 [106][107]의해 개발된 또 다른 프로젝트인 PulseAudio에 의해 야기된 문제와 유사합니다.

Slackware의 리더인 Patrick Volkerding은 2012년 인터뷰에서 systemd 아키텍처에 대해 유보적인 입장을 표명하면서 그 설계가 좁게 정의된 [108]상호 연결된 유틸리티의 Unix 철학에 위배된다고 말했습니다.2018년 8월 현재 Slackware는 systemd를 지원하거나 사용하지 않지만 [109]Volkerding은 systemd로의 전환 가능성을 배제하지 않고 있습니다.

2013년 1월, Lennart Poetering은 The Biggest [42]Mythes라는 블로그 투고를 통해 systemd에 대한 우려를 해결하려고 시도했습니다.

2014년 2월, Musl의 Rich Felker는 PID 1이 너무 특별해서 추가 책임을 떠넘길 수 없다고 주장했습니다.PID 1은 나머지 init 시스템의 시작과 좀비 프로세스의 수집만을 담당해야 합니다.systemd에 의해 추가된 추가 기능은 다른 곳에서 제공될 수 있으며 PID [110]1의 복잡성과 공격 표면을 불필요하게 증가시킵니다.

2014년 3월 Eric S. Raymond는 systemd의 설계 목표는 미션 크리프와 소프트웨어 [111]부풀리기가 쉽다고 생각했습니다.2014년 4월, Linus Torvalds는 주요 [112]systemd 개발자인 Kay Sivers의 사용자에 대한 태도와 Sivers가 제출한 Linux 커널 수정에 관한 버그 보고서에 대해 유보적인 입장을 표명했다.2014년 4월 하순부터 systemd에 대한 불매운동이 시작되었으며,[113][114] 웹사이트에는 다양한 반대 이유가 기재되어 있습니다.

2014년 8월 InfoWorld에 게재된 기사에서 Paul Venezia는 systemd 논쟁에 대해 썼으며, 이러한 논쟁은 Unix 철학을 위반하고 "잘못할 [115]수 없다고 굳게 믿는 위대한 자아가 원인"이라고 말했다.이 문서에서는 systemd의 아키텍처도 Microsoft Windows의 중요한 시스템컴포넌트인 svchost.exe의 아키텍처와 유사하다고 설명하고 있습니다.[115]

2014년 9월 ZDNet 인터뷰에서 저명한 Linux 커널 개발자인 Theodore Tso는 Systemd의 중앙집중화된 설계 철학을 둘러싼 논쟁은 Linux 생태계의 획일화, 오픈소스 커뮤니티의 일부 소외 및 소외를 초래하는 위험한 일반적인 추세를 나타낸다고 말했습니다.ng 대체 프로젝트를 위한 공간이 거의 없습니다.그는 GNOME 프로젝트에서 발견한 비표준 [116]구성에 대한 태도와의 유사점을 언급했다.소셜 미디어에서 Tso는 나중에 Sivers와 그의 공동 개발자인 Lennart Poettering의 태도를 GNOME의 [117]개발자들의 태도와 비교했다.

포크 및 대체 구현

systemd의 포크는 위의 섹션에서 개략적으로 설명한 비판과 밀접하게 관련되어 있습니다.포크는 일반적으로 (다른 libc 및 Unix와 유사한 시스템에 대한) 이식성, 모듈성 또는 크기 중 적어도1개를 개선하려고 합니다.몇 개의 포크가 FreeInit [118]배너로 공동 작업하고 있습니다.

컴포넌트 포크

에우데브

2012년에 Gentoo Linux 프로젝트는 systemd 아키텍처에 의존하지 않기 위해 udev포크를 만들었습니다.결과 포크는 eudev라고 불리며 systemd [119]없이 udev 기능을 사용할 수 있습니다.프로젝트의 명확한 목표는 Linux 배포 또는 초기화 [120]시스템으로부터 eudev를 독립시키는 것입니다.2021년 젠투는 2022년 초에 eudev의 지원이 중단될 것이라고 발표했다.그 이후로 독립적인 유지자 집단이 [121]유데프를 고용했다.

elogind(elogind)

Elogind는 독립형 데몬으로 추출된 systemd 프로젝트의 "로그인드"입니다.PAM과 통합되어 시스템에 로그인한 사용자 집합과 사용자가 그래픽으로 로그인했는지, 콘솔로 로그인했는지 또는 원격으로 로그인했는지 여부를 알 수 있습니다.Elogind는 표준 org.freedesktop.login1 D-Bus 인터페이스 및 systemd의 표준 /run/systemd 레이아웃을 사용하여 파일 시스템을 통해 이 정보를 표시합니다.Elogind는 "libsystemd"가 제공하는 설비의 서브셋인 "libelogind"도 제공합니다."[122]libelogind.pc" pkg-config 파일도 있습니다.

콘솔 키트2

ConsoleKit은 2014년 10월 Xfce 개발자들이 Linux 이외의 운영 체제에서 기능을 유지 및 사용할 수 있기를 원하면서 출시되었습니다.장기적으로는 원래의 저장소를 부활시킬 가능성도 배제하지 않고 있지만, 메인 개발자는 systembsd가 [123]성숙할 때까지 ConsoleKit2를 일시적인 필요조건으로 간주하고 있다.2017년 12월에 개발이 중단되어 프로젝트가 [124]중단될 수 있습니다.

로그인 키트

LoginKit은 logind(systemd-logind) 심을 구현하기 위한 시도였습니다.이것에 의해, systemd-logind에 의존하는 패키지는, [125]특정의 init 시스템에 의존하지 않고 동작할 수 있게 됩니다.이 프로젝트는 2015년 [126]2월부터 중단되었다.

시스템

2014년에는 OpenBSD용 API의 대체 구현을 제공하기 위해 "systembsd"라는 이름의 Google Summer of Code 프로젝트가 시작되었습니다.원래 프로젝트 개발자는 Linux에서 OpenBSD로의 [127]이행을 용이하게 하기 위해 그것을 시작했습니다.프로젝트 [128]개발은 2016년 7월에 종료되었습니다.

systembsd 프로젝트는 초기 대체를 제공하는 것이 아니라 OpenB를 제공하는 것을 목표로 하고 있습니다.호스트 이름 지정, 시간 지정, 로컬화로그인드에 호환되는 데몬이 있는 SD.이 프로젝트는 새로운 systemd와 같은 기능을 만들지는 않았으며, 네이티브 OpenB에 대한 래퍼 역할을 하기 위한 것일 뿐입니다.SD 시스템개발자는 systembsd를 기본 시스템이 아닌 포트 컬렉션의 일부로 설치할 수 있도록 하는 것을 목표로 하고 있으며, "systemd와 *BSD는 철학 및 개발 [127]관행 면에서 근본적으로 다르다"고 밝혔습니다.

시스템하지 않다

Not systemd는 모든 init [129]시스템에서 동작하는 systemd의 모든 기능을 구현하려고 합니다.parabola GNU/Linux-libre 개발자들은 systemd-nspawn을 실행하기 위해 systemd를 설치할 필요 없이 개발 도구로 패키지를 빌드할 수 있게 되었다.

초기 시스템을 포함한 포크

쓸모없는

2014년에는 systemd의 경량 포크로 unsueld가 생성되었습니다.이 프로젝트에서는 초기 시스템에 불필요하다고 생각되는 기능과 프로그램을 제거하고 다른 [130]인식된 결함을 다루려고 했습니다.프로젝트 [131]개발은 2015년 1월에 중단되었습니다.

unsaild는 muslclibc 라이브러리를 지원하므로 임베디드 시스템에서 사용되었을 가능성이 있는 반면 systemd는 glibc만 지원합니다.이 쓸모없는 프로젝트는 [132]향후 Linux 빌드를 위한 아키텍처 오버홀 및 리팩터링뿐만 아니라 크로스 플랫폼 호환성에 대한 추가적인 개선을 계획했습니다.

InitWare

InitWare는 systemd의 모듈러 리팩터이며 glibc 또는 Linux 고유의 시스템콜 없이 시스템을 BSD 플랫폼으로 이식합니다.DragonFly BSD, FreeBSD, NetBSD 및 GNU/Linux에서 작동하는 것으로 알려져 있습니다.불필요하다고 생각되는 컴포넌트는 [133]폐기됩니다.

「 」를 참조해 주세요.

메모들

  1. ^ 날짜는 General Availability Release 입니다.
  2. ^ systemd는 Gentoo에서 "systemd를 대신 사용하거나 Gnome 3.8 이후(systemd가 [79]필요)"를 사용할 예정인 사용자를 위한 기본 초기 시스템인[78] OpenRC의 대체 시스템으로서 지원됩니다.
  3. ^ systemd[citation needed] 이외의 init 시스템을 사용하여 기능을 찾을 수 없습니다.

레퍼런스

  1. ^ a b "Lennart Poettering on systemd's Tumultuous Ascendancy". 26 January 2017. Retrieved 7 November 2018.
  2. ^ a b "systemd README", freedesktop.org, retrieved 9 September 2012
  3. ^ "Systemd Hits A High Point For Number Of New Commits & Contributors During 2018 - Phoronix".
  4. ^ "Release systemd v251".
  5. ^ "Systemd 251 Released With systemd-sysupdate Introduced, Many Other Additions".
  6. ^ Poettering, Lennart (21 April 2012), systemd Status Update, retrieved 28 April 2012
  7. ^ "Rethinking PID 1". 30 April 2010. systemd uses many Linux-specific features, and does not limit itself to POSIX. That unlocks a lot of functionality a system that is designed for portability to other operating systems cannot provide.
  8. ^ "InterfaceStabilityPromise". FreeDesktop.org. Retrieved 14 February 2018.
  9. ^ "systemd System and Service Manager". freedesktop.org. Yes, it is written systemd, not system D or System D, or even SystemD. And it isn't system d either. Why? Because it's a system daemon, and under Unix/Linux those are in lower case, and get suffixed with a lower case d.
  10. ^ Poettering, Lennart; Sievers, Kay; Leemhuis, Thorsten (8 May 2012), Control Centre: The systemd Linux init system, The H, archived from the original on 14 October 2012, retrieved 9 September 2012
  11. ^ "Debate/initsystem/systemd - Debian Wiki". wiki.debian.org. Retrieved 15 November 2021.
  12. ^ "F15 one page release notes - Fedora Project Wiki". fedoraproject.org. Retrieved 15 November 2021.
  13. ^ a b Gaudreault, Stéphane (14 August 2012). "Migration to systemd". arch-dev-public (Mailing list). Retrieved 15 November 2021.
  14. ^ Saunders, Mike (11 November 2015). "Linux 101: Get the most out of systemd". Linux Voice. Retrieved 28 January 2016.
  15. ^ "Freedesktop Systemd : List of security vulnerabilities". CVE Details. Retrieved 3 October 2021.
  16. ^ Simmonds, Chris (2015). "9: Starting up - the init Program". Mastering Embedded Linux Programming. Packt Publishing Ltd. p. 239. ISBN 9781784399023. Retrieved 20 June 2016. systemd defines itself as a system and service manager. The project was initiated in 2010 by Lennart Poettering and Kay Sievers to create an integrated set of tools for managing a Linux system including an init daemon.
  17. ^ Lennart Poettering (30 April 2010). "Rethinking PID 1".
  18. ^ "F15 one page release notes", fedoraproject.org, 24 May 2001
  19. ^ "Arch Linux - News: systemd is now the default on new installations". archlinux.org. Retrieved 11 November 2021.
  20. ^ Groot, Jan de (14 August 2012). "Migration to systemd". arch-dev-public (Mailing list). Retrieved 11 November 2021.
  21. ^ "Archlinux is moving to systemd (Page 2) / Arch Discussion / Arch Linux Forums". bbs.archlinux.org. Retrieved 19 November 2021.
  22. ^ "#727708 - tech-ctte: Decide which init system to default to in Debian". 25 October 2013. Retrieved 14 September 2014.
  23. ^ "Which init system for Debian?". 5 November 2013. Retrieved 14 September 2014.
  24. ^ "Debian Still Debating systemd Vs. Upstart Init System". Phoronix. 30 December 2013. Retrieved 14 September 2014.
  25. ^ "Losing graciously". 14 February 2014. Retrieved 14 September 2014.
  26. ^ "Quantal, raring, saucy..." 18 October 2013. Retrieved 14 September 2014.
  27. ^ Hess, Joey. "on leaving". Retrieved 15 July 2015.
  28. ^ Allbery, Russ (16 November 2014). "Resigning from the Technical Committee". debian-ctte (Mailing list). Retrieved 15 July 2015.
  29. ^ Jackson, Ian (19 November 2014). "Resignation". debian-ctte (Mailing list). Retrieved 15 July 2015.
  30. ^ Heen, Tollef Fog (16 November 2014). "Resignation from the pkg-systemd maintainer team". pkg-systemd-maintainers (Mailing list). Retrieved 15 July 2015.
  31. ^ Carroty, Paul (28 August 2015). "Lennart Poettering merged 'su' command replacement into systemd: Test Drive on Fedora Rawhide". Archived from the original on 4 September 2015.
  32. ^ "Assertion failure when PID 1 receives a zero-length message over notify socket #4234". GitHub. 28 September 2016.
  33. ^ Felker, Rich (3 October 2016). "Hack Crashes Linux Distros with 48 Characters of Code". Kaspersky Lab.
  34. ^ "CVE-2017-9445 Details", National Vulnerability Database, National Institute of Standards and Technology (U.S.), 6 July 2017, retrieved 6 July 2018
  35. ^ "CVE-2017-9445", The Common Vulnerabilities and Exposures database, The Mitre Corporation, 5 June 2017, retrieved 6 July 2018
  36. ^ "Pwnie Awards 2017, Lamest Vendor Response: SystemD bugs". Pwnie Awards. Retrieved 10 June 2021.
  37. ^ Gundersen, Tom E. (25 September 2014). "The End of Linux". Retrieved 25 October 2014. It certainly is not something that comes with systemd from upstream.
  38. ^ "The New Control Group Interfaces". Freedesktop.org. 28 August 2015. Retrieved 6 February 2016.
  39. ^ Poettering, Lennart (May 2014). "A Perspective for systemd: What Has Been Achieved, and What Lies Ahead" (PDF). Retrieved 30 November 2014.
  40. ^ "What is systemd?". Linode. 11 September 2019.
  41. ^ "Inhibitor Locks". freedesktop.org.
  42. ^ a b Poettering, Lennart (26 January 2013). "The Biggest Myths".
  43. ^ "Debate/initsystem/systemd – Debian Documentation". Debian. 2 January 2014. Retrieved 4 December 2014.
  44. ^ Edge, Jake (7 November 2013). "Creating containers with systemd-nspawn". LWN.net. Retrieved 30 July 2014.
  45. ^ "ControlGroupInterface". freedesktop.org. Retrieved 9 November 2014.
  46. ^ Heo, Tejun (28 January 2014). "cgroup: convert to kernfs". linux-kernel (Mailing list).
  47. ^ Heo, Tejun (13 March 2014). "cgroup: prepare for the default unified hierarchy". linux-kernel (Mailing list).
  48. ^ "systemd's binary logs and corruption". 17 February 2014. Retrieved 21 January 2016.
  49. ^ "systemd-logind.service". freedesktop.org. Retrieved 17 February 2014.
  50. ^ "ConsoleKit official website". freedesktop.org. Retrieved 9 November 2014.
  51. ^ "How to hook up your favorite X11 display manager with systemd". freedesktop.org.
  52. ^ "Networking in +systemd - 1. Background". 27 November 2013. Retrieved 22 February 2014.
  53. ^ "Networking in +systemd - 2. libsystemd-rtnl". 27 November 2013. Retrieved 22 February 2014.
  54. ^ "Networking in +systemd - 3. udev". 27 November 2013. Retrieved 22 February 2014.
  55. ^ "Networking in +systemd - 4. networkd". 27 November 2013. Retrieved 22 February 2014.
  56. ^ "Networking in +systemd - 5. the immediate future". 27 November 2013. Retrieved 22 February 2014.
  57. ^ Larabel, Michael (4 July 2014). "systemd 215 Works On Factory Reset, DHCPv4 Server Support". Retrieved 8 November 2014.
  58. ^ Šimerda, Pavel (3 February 2013). "Can Linux network configuration suck less?".
  59. ^ networkctl(1)Linux 사용자 매뉴얼– 사용자 명령어
  60. ^ "timedated". freedesktop.org. Retrieved 9 November 2014.
  61. ^ Sievers, Kay. "The future of the udev source tree". vger.kernel.org/vger-lists.html#linux-hotplug linux-hotplug (Mailing list). Retrieved 22 May 2013.
  62. ^ Sievers, Kay, "Commit importing udev into systemd", freedesktop.org, retrieved 25 May 2012
  63. ^ "[PATCH] Drop the udev firmware loader". systemd-devel (Mailing list). 29 May 2014.
  64. ^ "systemd.syntax". www.freedesktop.org. Retrieved 27 July 2021.
  65. ^ "systemd.unit man page". freedesktop.org.
  66. ^ "systemd.device". www.freedesktop.org. Retrieved 27 July 2021.
  67. ^ "systemd Dreams Up New Feature, Makes It Like Cron". Phoronix. 28 January 2013. Retrieved 22 January 2014.
  68. ^ "systemd.slice (5) - Linux Man Pages". Retrieved 12 March 2018. [...] a slice [...] is a concept for hierarchically managing resources of a group of processes.
  69. ^ "systemd.scope". www.freedesktop.org. Retrieved 27 July 2021.
  70. ^ a b "Git clone of the 'packages' repository". Web interface to the Arch Linux git repositories. 12 January 2012.
  71. ^ "systemd is now the default on new installations". Arch Linux.
  72. ^ "coreos/manifest: Releases: v94.0.0". github.com. 3 October 2013. Retrieved 22 September 2014.
  73. ^ "CoreOS's init system", coreos.com, archived from the original on 14 February 2014, retrieved 14 February 2014
  74. ^ "systemd". debian.org. Retrieved 19 November 2014.
  75. ^ Garbee, Bdale (11 February 2014). "Bug#727708: call for votes on default Linux init system for jessie". debian-ctte (Mailing list).
  76. ^ "systemd - system and service manager". Debian Wiki. Installing without systemd. Retrieved 3 April 2018.
  77. ^ "Fedora 14 talking points".
  78. ^ a b "systemd", wiki.gentoo.org, retrieved 26 August 2012
  79. ^ "Installing the Gentoo Base System § Optional: Using systemd".
  80. ^ "Comment #210 (bug #318365)", gentoo.org, retrieved 5 July 2011
  81. ^ "systemd", gentoo.org, retrieved 5 July 2011
  82. ^ "KNOPPIX 7.4.2 Release Notes". Archived from the original on 6 January 2018. Retrieved 26 April 2018. ...script-based KNOPPIX system start with sysvinit
  83. ^ "KNOPPIX 8.0 Die Antwort auf Systemd (German)". Archived from the original on 13 June 2018. Retrieved 13 June 2018. ...Knoppix 'boot process continues to run via Sys-V init with few bash scripts that start the system services efficiently sequentially or in parallel. (The original German text: Knoppix' Startvorgang läuft nach wie vor per Sys-V-Init mit wenigen Bash-Skripten, welche die Systemdienste effizient sequenziell oder parallel starten.)
  84. ^ "LM Blog: both Mint 18 and LMDE 3 will switch to systemd".
  85. ^ ChangeLog of Mageia's systemd package
  86. ^ Scherschel, Fabian (23 May 2012), Mageia 2 arrives with GNOME 3 and systemd, The H, archived from the original on 8 December 2013, retrieved 22 August 2012
  87. ^ "Mageia forum • View topic - is it possible to replace systemd?".
  88. ^ Directory view of the 11.4 i586 installation showing presence of the systemd v18 installables, 23 February 2011, retrieved 24 September 2013
  89. ^ "OpenSUSE: Not Everyone Likes systemd". Phoronix. The recently released openSUSE 12.2 does migrate from SysVinit to systemd
  90. ^ "Parabola ISO Download Page".
  91. ^ Red Hat Unveils Red Hat Enterprise Linux 7, 10 June 2014
  92. ^ "Initial entry of the "systemd" spell".
  93. ^ "Ubuntu Wiki: Switching init systems". Retrieved 3 July 2016.
  94. ^ "Linked packages : upstart". Launchpad. Retrieved 17 June 2019.
  95. ^ "Void-Package: systemd: removed; no plans to resurrect this". GitHub.
  96. ^ "Meet Devuan, the Debian fork born from a bitter systemd revolt".
  97. ^ Sharwood, Simon (5 May 2017). "systemd-free Devuan Linux hits RC2". The Register. Retrieved 5 May 2017.
  98. ^ "Debian Developers Decide On Init System Diversity: "Proposal B" Wins". Phoronix. Retrieved 28 December 2019.
  99. ^ Poettering, Lennart (18 May 2011). "systemd as an external dependency". desktop-devel (Mailing list). GNOME. Retrieved 26 May 2011.
  100. ^ Peters, Frederic (4 November 2011). "20121104 meeting minutes". GNOME release-team (Mailing list). Retrieved 14 January 2013.
  101. ^ "ConsoleKit". Retrieved 15 November 2014. ConsoleKit is currently not actively maintained. The focus has shifted to the built-in seat/user/session management of Software/systemd called systemd-logind!
  102. ^ Vitters, Olav. "GNOME and logind+systemd thoughts". Retrieved 24 April 2014.
  103. ^ "GNOME 3.10 arrives with experimental Wayland support". ZDNet. Retrieved 24 April 2014.
  104. ^ "GNOME initiatives: systemd". Retrieved 9 May 2018.
  105. ^ "Mutter 3.13.2: launcher: Replace mutter-launch with logind integration". 19 May 2014. Retrieved 28 May 2014.
  106. ^ Vaughan-Nichols, Steven (19 September 2014). "Linus Torvalds and others on Linux's systemd". ZDNet. CBS Interactive.
  107. ^ "1345661 - PulseAudio requirement breaks Firefox on ALSA-only systems". Bugzilla. Mozilla. 3 September 2021.
  108. ^ "Interview with Patrick Volkerding of Slackware". linuxquestions.org. 7 June 2012. Retrieved 19 March 2014.
  109. ^ "I'm back after a break from Slackware: sharing thoughts and seeing whats new!". linuxquestions.org. Retrieved 14 March 2014.
  110. ^ 설계에 의한 파손: systemd, Rich Felker, Musl의 주요 저자, 2014년 2월 9일.
  111. ^ "Interviews: ESR Answers Your Questions". Slashdot.org. 10 March 2014. Retrieved 19 March 2014.
  112. ^ Torvalds, Linus (2 April 2014). "Re: [RFC PATCH] cmdline: Hide "debug" from /proc/cmdline". linux-kernel (Mailing list). Retrieved 8 July 2014.
  113. ^ "Is systemd as bad as boycott systemd is trying to make it?". LinuxBSDos.com. 3 September 2014. Retrieved 22 September 2014.
  114. ^ "Boycott systemd.org". Archived from the original on 6 May 2014. Retrieved 15 July 2015.
  115. ^ a b Venezia, Paul (18 August 2014). "systemd: Harbinger of the Linux apocalypse". Retrieved 20 September 2014.
  116. ^ "Linus Torvalds and others on Linux's systemd". ZDNet. Retrieved 21 November 2014.
  117. ^ "A realization that I recently came to while discussing the whole systemd..." 31 March 2014. Archived from the original on 17 July 2014. Retrieved 8 July 2014.
  118. ^ "FreeInit.org". www.freeinit.org.
  119. ^ "eudev/README". GitHub. Archived from the original on 16 February 2015. Retrieved 1 June 2015.
  120. ^ "Gentoo eudev project". Retrieved 1 June 2015.
  121. ^ Basile, Anthony G. (24 August 2021). "eudev retirement on 2022-01-01". Repository news items. Gentoo Linux. Retrieved 14 June 2022.
  122. ^ "elogind/README". GitHub. Retrieved 2 September 2015.
  123. ^ Koegel, Eric (20 October 2014). "ConsoleKit2". Retrieved 7 March 2015.
  124. ^ "ConsoleKit2 (Github)". GitHub. Retrieved 8 July 2018.
  125. ^ "loginkit/README". GitHub. Retrieved 4 December 2014.
  126. ^ "dimkr/LoginKit (Github)". GitHub. Retrieved 8 July 2018.
  127. ^ a b "GSoC 2014: systemd replacement utilities (systembsd)". OpenBSD Journal. Retrieved 28 November 2014.
  128. ^ projects / systembsd.git / summary, retrieved 8 July 2018
  129. ^ Luke Shumaker (17 June 2017). "notsystemd v232.1 release announcement". Dev@lists.parabola.nu (Mailing list).
  130. ^ Larabel, Michael (21 September 2014). "Uselessd: A Stripped Down Version Of systemd". Phoronix. Retrieved 26 October 2014.
  131. ^ "Uselessd is dead". Uselessd website. Retrieved 17 February 2017.
  132. ^ "uselessd :: information system". uselessd.darknedgy.net. Retrieved 26 October 2014.
  133. ^ "InitWare/InitWare: The InitWare Suite of Middleware allows you to manage services and system resources as logical entities called units. Its main component is a service management ("init") system". GitHub. 14 November 2021.

외부 링크