systemd의 대상, 서비스 및 소켓은 무엇입니까?

systemd의 대상, 서비스 및 소켓은 무엇입니까?

모두 유닛 파일인 것은 알지만, 그 특별한 의미를 이해할 수는 없습니다. 대상은 데몬과 유사하고 소켓은 소켓(IP + 포트)과 동일하지만 inode 번호도 있다고 생각합니다. 누구든지 간단한 단어로 설명해 주실 수 있나요?

답변1

서비스 단위:

A unit configuration file whose name ends in .service encodes
information about a process controlled and supervised by systemd.

systemd.service(5)

시스템 서비스 단위는 실제로 프로그램과 데몬을 실행하고 추적하는 단위이며, 종속성은 서비스가 올바른 순서로 시작되는지 확인하는 데 사용됩니다. 가장 일반적으로 사용되는 유형의 단위입니다.

소켓 단위:

A unit configuration file whose name ends in ".socket" encodes
information about an IPC or network socket or a file system FIFO
controlled and supervised by systemd, for socket-based activation.

systemd.socket(5)

반면에 소켓 장치는 실제로 자체적으로 데몬을 시작하지 않습니다. 대신 그들은 단지 거기 앉아서 IP 주소와 포트 또는 UNIX 도메인 소켓을 수신하고 무언가가 여기에 연결되면 소켓에 대한 데몬이 시작되고 연결이 전달됩니다.

이는 많은 리소스를 차지하지만 거의 사용되지 않는 대형 데몬이 항상 실행되어 리소스를 차지하지 않고 대신 필요할 때만 시작되도록 하는 데 유용합니다.

대상 단위:

A unit configuration file whose name ends in ".target" encodes
information about a target unit of systemd, which is used for grouping
units and as well-known synchronization points during start-up.

systemd.target(5)

대상은 단위를 그룹화하고 정렬하는 데 사용됩니다. 서로 다른 대상, 서로 다른 서비스, 소켓 및 기타 단위가 시작된다는 점에서 런레벨과 대략적으로 동일합니다. 런레벨과 달리 훨씬 더 자유 형식이며 단위 주문을 위한 자신만의 타겟을 쉽게 만들 수 있으며 타겟 간에는 종속성이 있습니다.

예를 들어 multi-user.target는 대부분의 데몬이 그룹화되어 있고 basic.target활성화가 필요합니다. 즉, 그룹화된 모든 서비스가 의 basic.target서비스보다 먼저 시작됩니다 multi-user.target.

답변2

systemd에 대한 문서는 상대적으로 새로운 프로젝트에 탁월합니다. 시작하기목표, 에서 man systemd.target:

대상 장치는 장치가 제공하는 일반 기능 외에 추가 기능을 제공하지 않습니다. 종속성(부팅 대상으로 유용함)을 통해 장치를 그룹화하고 장치 간 종속성에 사용되는 동기화 지점에 대한 표준화된 이름을 설정하기 위해 존재합니다. 무엇보다도 대상 장치는 기존 SysV init 시스템의 SysV 런레벨을 보다 유연하게 대체합니다.

이러한 "유닛 그룹"은 basic.target기본적으로 시스템 부팅부터 dbus, gettys, 마운트 지점, 스왑 및 타이머까지 모든 기능을 포함하는 다양한 기능을 다룹니다. 로 전체 목록을 볼 수 있습니다 man systemd.special.

서비스파일은 systemd가 제어하는 ​​프로세스를 실행하기 위한 기본 단위입니다. 다시 한 번 말씀드리자면 man systemd.service:

이름이 .service로 끝나는 장치 구성 파일은 systemd가 제어하고 감독하는 프로세스에 대한 정보를 인코딩합니다.

이는 시작, 중지, 다시 시작, 다시 로드할 수 있는 데몬을 구성합니다.

마지막으로,소켓, 에서 man systemd.socket:

이름이 ".socket"으로 끝나는 장치 구성 파일은 소켓 기반 활성화를 위해 systemd가 제어하고 감독하는 IPC 또는 네트워크 소켓 또는 파일 시스템 FIFO에 대한 정보를 인코딩합니다.

여기에는 파일 시스템이나 인터넷의 소켓은 물론 전송용 클래식 FIFO도 포함됩니다. 각 소켓 장치에는 일치하는 서비스 장치가 있으며, 이는 소켓이나 FIFO에 첫 번째 연결이 들어오면 시작됩니다.

페이지 외에도 manLennart의 블로그 게시물 시리즈를 읽어 볼 가치가 있습니다.관리자를 위한 시스템, systemd의 아키텍처 및 구현에 대한 심층적인 정보를 제공합니다(현재 이 시리즈에는 20개의 게시물이 있습니다).

관련 정보