티스토리 뷰
systemd란 무엇인가?
- 리눅스를 부팅하면 커널이 가장 먼저 실행시키는 프로세스
- 병렬로 프로그램들을 실행시켜 부팅 속도를 끌어올린다.
- 프로그램 실행을 위한 파일로 service라는 systemd만의 unit을 통해 체계적이면서 가독성이 좋도록 개발되었다
- init 뿐만 아니라 다른 여러 프로그램들의 기능도 대체
기존의 리눅스는 가장먼저 init 프로세스를 실행하고 ,init 프로세스가 필요한 다른 프로세스를 실행시킨다.
기존의 init프로세스는 단계적으로 런 레벨을 올려가며 해당 런 레벨의 rc스크립트를 차례대로 실행한다.
한편으로 기존의 init은 아주 오래전 리눅스에서부터 사용하던 아주 오래된 프로세스고 이에 계속해서 기능이 추가되면서 프로그램들이 복잡해지다보니 효율성이 떨어지게 되었다.
systemd 유닛
systemd는 전체 시스템을 시작하고 관리하는데 유닛(Units)라고 부르는 구성요소를 사용한다
systemd는 관리 대상의 이름을 '서비스 이름.유닛 종류'의 형태로 관리한다.
systemd 명령어
systemctl : systemd를 제어하는 명령어다
systemctl [옵션] [명령] [유닛 이름]
- 옵션
a : 상태와 관계없이 유닛 전체를 출력한다
t : [유닛의 종류] 지정한 종류의 유닛만 출력한다.
- 명령
start : 유닛을 시작한다
stop: 유닛을 정지한다
reload : 유닛의 설정 파일을 다시 읽어온다
status: 유닛의 현재 상태를 확인한다
enable: 부팅 시 유닛이 자동으로 시작되도록 설정한다.
disable: 부팅 시 유닛이 자동으로 시작되지 않도록 설정한다.
ex)
systemstl status atd.service
systemstl stop atd.service
<참고>
https://www.youtube.com/watch?v=vg8bcRlNXB8&list=PL0d8NnikouEXVn9FfoX2XVlGgEArLDiLZ&index=13
'Linux' 카테고리의 다른 글
런 레벨(Run Level) (0) | 2021.11.08 |
---|---|
리눅스 부팅 과정 (0) | 2021.11.08 |