위로 아래

systemd

 

systemd

  1. PID 1번 프로세스.
  2. 리눅스 OS를 관리해주는 system daemon
  3. 원래 init 데몬이었으나, 더 고성능의 systemd가 개발된 후 대체되었다
  4. systemctl <동작> <이름> 명령어를 사용한다
  5. shell script가 아니라 .service라는 systemd의 unit을 통해 가독성도 좋아지고 병령로 작업을 진행해 부팅 속도도 빠르다
  6. systemd 사용자 설정 파일 디렉토리 위치 : /etc/systemd

 

init.d

  1. /etc/rc.d/init.d/
  2. CentOS 6이전 버전에서 PID 1번을 차지하던 프로세스
  3. CentOS 7버전 이후 systemd로 대체되어 사용하지 않게 되었다.
  4. service <이름> <동작> 명령어를 사용한다
  5. systemd를 사용하는 OS에서는 service 명령어를 사용해도 systemctl로 실행된다
  6. 부팅 시 shell script를 통해 순차적으로 작업을 진행하느라, OS 버전의 업그레이드에 따라 많은 기능이 추가된 만큼 부팅 시 속도가 오래 걸렸다.

 


Systemd Unit

Systemd Unit

  1. systemd의 구성 요소
  2. systemd가 전체 시스템을 관리하는 데 유닛이 필요하다

 

 

 

 


systemd 구성

systemd 구성

systemd : init 역할을 하는 데몬

systemd-journald : 다른 데몬(프로세스)들의 출력(syslog, 표준, 에러 출력), 로그 저장 데몬

systemd-logind : 사용자 로그인, 세션 관리 데몬

systemd-udevd : 장치 관리자 데몬

systemd-networkd : 네트워크 관리 데몬

systemd-resolved : DNS 해석 데몬

systemd-timesyncd : NTP로 시간 동기화 데몬

systemd-boot : UEFI 부트로더 데몬

 

 

 

 

 


systemctl 명령어

systemctl 명령어

systemctl <옵션> <명령> <유닛 이름>

<유닛 이름>은 생략 가능

 

옵션

-a : 상태와 상관 없이 유닛 전체 출력

-t : 지정한 유닛만 출력

 

서비스 관리 명령어

systemctl start name.service : 서비스 시작

systemctl stop  name.service : 서비스 정지

systemctl reload  name.service : 서비스 설정 갱신

systemctl restart  name.service : 서비스 재시작

systemctl try-restart  name.service : 실행 중인 서비스만 재시작

systemctl status  name.service : 서비스 상태 확인

systemctl enable  name.service : 부팅 시 서비스 자동 실행

systemctl disable  name.service : 부팅 시 서비스 자동 실행 억제

systemctl list-units --type service --all : 서비스 목록 확인

systemctl tlist-units-files : 서비스 파일 확인

 

타겟 유닛 명령어

systemctl get-default : 기본 타겟 확인

systemctl list-units --type target : 현재 로드된 모든 타겟 확인

systemctl set-default name.target : 기본 타겟 변경

systemctl isolate name.target : 현재 타겟 변경

systemctl rescue : 복구 모드 변경

systemctl emergency : 응급 모드 변경

 

전원 관리 명령어

systemctl halt : 시스템 끄기

systemctl poweroff : 시스템 전원 끄기

systemctl reboot : 시스템 재시작

systemctl suspend : 시스템 서스펜드

systemctl hibernate : 시스템 하이버네이트

systemctl hybrid-sleep : 시스템 서스펜드-하이버네이트

 

원격 제어 명령어

systemctl -H root@linuxserver.example.com status httpd.service : 원격지의 시스템 서비스를 제어 가능 sshd 서비스에 연결한다

 

 

 

 

 

참고 : https://m.blog.naver.com/hymne/221245434314

 

▒ Doly의 CentOS7 강좌12 11. 시스템 및 서비스 관리(systemd)

▒ Doly의 CentOS7 강좌12 11. 시스템 및 서비스 관리(systemd) 11. 시스템 및 서비스 관리(systemd) ...

blog.naver.com