Simple is IT, 누구나 보고 누구나 깨닫는 IT

Linux_Systemd 본문

Simple is IT/Server

Linux_Systemd

currenjin 2020. 5. 6. 09:30

Systemd

리눅스를 부팅하면 커널이 가장 먼저 실행시키는 프로세스 (init의 단점을 보완하며 리눅스의 의존성을 해치지 않도록)

- 기존에는 init 프로세스를 실행하고 init 프로세스가 필요한 다른 프로세스를 실행 (단계적으로 런 레벨의 rc스크립트를 실행)

Systemd Unit

- Unit이라는 구성요소를 사용해 전체 시스템을 시작하고 관리한다.

service : 데몬의 시작, 종료, 재시작 담당

socket : 소켓을 관리하는 유닛

device : 리눅스의 여러 장치들을 관리

mount : 마운트 포인트 관리

automount : 자동 마운트 포인트 관리

systemctl [옵션] [명령] [유닛 이름]

- 옵션

a : 상태와 관계없이 유닛 전체를 출력한다.

t : 지정한 종류의 유닛만 출력한다.

- 명령

start : 유닛을 시작한다.

stop : 유닛을 정지한다.

reload : 유닛의 설정 파일을 다시 읽어온다.

restart : 유닛을 재시작한다.

status : 유닛이 현재 상태를 확인한다.

enable : 부팅 시 유닛이 자동으로 시작되도록 설정한다.

disable : 부팅 시 유닛이 자동으로 시작되지 않도록 설정한다.

실습

{ 간단히 systemctl 알아보기

systemctl status atd.service

ps -ef | grep atd

systemctl stop atd.service

}

{ Systemd Unit 수동 등록

netcat 압축 해제 후 gcc install 필요. -> ./configure, make, make install

systemd로 관리 하길 원할 경우 Unit 파일 생성 필요

cd /usr/lib/systemd/system

1.수동

touch nc.service

vi nc.service

[Unit]

Description=NETCAT SERVER

[Service]

Execstart=/usr/local/bin/nc -lp 9999 // which nc

[Install]

WantedBy=multi-user.target

systemctl daemon-reload

systemctl start nc.service

}


Comments