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

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

둘 다 유닛 파일이라는 것은 알지만, 그 특별한 의미를 이해할 수 없습니다. 대상은 데몬과 비슷하고 소켓은 소켓(IP + 포트)과 동일하지만 inode 번호도 있는 것 같습니다. 누군가 간단한 단어로 설명할 수 있나요?

답변1

서비스 단위:

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

시스템 서비스(5)

Systemd 서비스 단위는 프로그램과 데몬을 실제로 실행하고 추적하는 단위이며 서비스가 올바른 순서로 시작되도록 하기 위해 종속성을 사용합니다. 가장 일반적으로 사용되는 단위 유형입니다.

소켓 유닛:

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, getty, 마운트 지점부터 스와핑 및 타이머에 이르기까지 시스템 시작을 포함하여 다양한 기능을 다룹니다 . 를 사용하여 전체 목록을 볼 수 있습니다 man systemd.special.

제공하다파일은 systemd가 제어하는 ​​프로세스를 실행하기 위한 기본 단위입니다. 다시 말하지만, 출처 man systemd.service:

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

이는 시작, 중지, 다시 시작 및 다시 로드할 수 있는 데몬 프로세스를 구성합니다.

마침내,소켓, 에서 man systemd.socket:

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

이는 파일 시스템이나 인터넷의 소켓뿐만 아니라 전송 수단으로서의 클래식 FIFO도 포함합니다. 각 소켓 장치에는 일치하는 서비스 장치가 있으며, 첫 번째 연결이 소켓 또는 FIFO에 들어오면 시작됩니다.

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

관련 정보