리눅스 공부 기록

리눅스 14 - Service 등록 및 관리

레연 2021. 11. 5. 14:29

서비스(service)와 데몬(daemon)

서비스 = 데몬

사용자의 요청 시점이 아닌 임의의 시점에서 background process로 시작되어 사용자나 프로세스에 서비스를 제공하는 프로그램

 

서버 : 요청한 서비스 제공

클라이언트 : 서비스 요청

 

방식
• Stand Alone 

- 스스로 listen하며 항상 메모리에 상주한다.
- 서비스 요청에 즉시 대응 가능하다.
- 서비스 요청이 매우 드물거나 idle 한 경우 메모리를 낭비한다.
• Super Daemon
- Listen을 직접하지 않는다.
- 메모리에 상주하지 않으며 서비스 요청이 있을때 xinetd에 의해 호출된다.
- 점차 사라지는 추세

 

서비스 조회
# systemctl list-unit-files
- 모든 서비스의 상태 확인

 

# systemctl [is-enabled | is-active] [서비스명]
- is-enabled : 자동 실행 등록 여부 확인
- is-active : 현재 실행 여부

 

서비스 등록
# systemctl [enable | disable] [서비스명]
- [enable | disable] : 등록 및 등록 해제

 

서비스 실행
# systemctl [start | restart | stop] [서비스명]
- [start | restart | stop] : 실행, 재실행, 종료

 

systemctl 추가 옵션
# systemctl [옵션] [서비스명]
- try-restart : 실행, 재실행, 종료 (에러났을 때 실행)
- Reload : 설정 재구동
- status : 상태 확인

 

ntsysv

반드시 필요한 서비스만 구동한다.
• 초기 서비스 목록
network   : 네트워크 활성화
crond.service   : 스케쥴 관리
display-manager.service   : Xwindow 필수
gdm.service   : Xwindow 필수
sshd.service   : sshd

 

Target
Target은 init의 run level과 동일한 개념이다.
• run level보다 다양한 모드를 제공한다.
Ex)
- multi-user.target : init3
- graphical.target : init5
- rescue.target : init1, single user mode
- emergency.target : 응급 복구 모드
• 제공되는 target 확인
# systemctl list-units --type target --all


Default target 확인
# systemctl get-default
- 기본 타켓을 확인한다.

CentOS 7 이전버전
• /etc/inittab 파일에 설정됨

 

Default target 설정
# systemctl set-default [타켓]
- 기본 타켓을 변경한다.

- 변경후 시스템 리부팅

 

타켓 변경
• 시스템 관리나 장비 손상 등으로 인한 타켓 변경
# systemctl [rescue | emergency]
- 지정한 타켓으로 변경된다.
- rescue : rescue.target
- emergency : emergency.target : 응급 복구 모드

 

레드햇 계열 리눅스의 런레벨

리눅스의 런레벨은 리눅스마다 약간의 차이가 있으나 보통 0,1,6은 공통이다.


Single user mode 실습

system, password 복구시 사용

여기서 패스워드를 바꾸거나 수정하면 된다.