본문 바로가기

Linux

리눅스 입문과 운영 : systemd

03. systemd

1. systemd

- 기존 init 프로세스보다 더 넓은 범위의 기능을 제공

- 기존 run level과 같이 동작 모드에 따른 시작 서비스를 관리함

- unit 단위로 시작 서비스를 관리함

 

2. unit

- service, socket, device, mount, automount, swap, target, path, timer, slice, scope 등의 유형이 있음

- unit별로 수행할 작업을 INI 파일 형식의 unit 파일에 작성해서 사용함

- unit 파일 형식

예) Rocky Linux 8.7에 기본으로 포함된 sshd.service 파일 내용

- Unit 섹션

Unit의 기본 정보 정의

Description: 사람이 읽을 수 있는 Unit정보. 레이블로 활용

After, Requires, Wants: Unit의 종속성을 지정

- 유형 섹션

Unit유형에 따른 속성들 정의

ExecStart: 구동할 명령어를 지정 *절대 경로 사용해야 한다

Restart: Unit이 비정상적으로 종료됐을 때 재시작 여부

- Install 섹션

Unit 설치와 관련된 정보 정의

Alias: Unit을 등록할 때 사용하는 이름

WantedBy: Unit간 종속성 지정

예) multi-user.target : 해당실행모드 구동 시 자동실행

 

3. systemctl

- systemd의 상태를 확인하고 설졍을 변경하는데 사용되는 명령어

- 자주 사용되는 systemctl 서브 커맨드

list-unit-files [pattern] : 설치된 Unit 목록 확인

enable unit : unit이 부팅 시 자동 활성화

disable unit : unit이 부팅 시 자동 활성화 되는 것을 방지

isolate target : 타겟의 실행 모드를 변경

start unit : unit을 즉시 활성화

stop unit : unit을 즉시 비활성화

restart unit : unit을 재시작. 실행되지 않은 상태였다면 start

status unit : unit의 상태 및 최근 로그 내용을 확인

kill pattern : 패턴과 일치하는 unit에 시그널을 보냄

reboot : 컴퓨터를 재시작

daemon-reload : unit 파일들과 systemd 설정 정보를 다시 로드

- 사용 예

모든 load되고 active상태의 서비스 확인

systemctl list-units --type=service

활성화(active)여부와 관계없이 모든 설치된 서비스 확인

systemctl list-unit-files --type=service

 

 

*본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.

http://bit.ly/3Y34pE0