본문 바로가기

Linux

systemd

systemd



  ▶ init뿐만 아니라 다른 기능들도 대체한 명령어



 1) 리눅스를 부팅하면 커널이 가장 먼저 실행시키는 프로세스



 2) 기존의 리눅스는 가장 먼저 init 프로세스를 실행하고 init 프로세스가 필요한 다른 프로세스를 실행



  3) 기존의 init 프로세스는 단계적으로 런 레벨을 올라가며 해당 런 레벨의 rc 스크립트를 차례대로 실행



 4) 하지만 init은 아주 오래전 리눅스에서부터 사용하던 아주 오래된 프로세스였고 이에 계속해서 기능이 추가되면서 프로그램들이 복잡해지다보니 효율 또한 떨어지게 되었다.



 5) systemd는 가능한 한 병렬로 시작 프로그램들을 실행시크는 것으로 부팅 속도를 끌어올리고, 프로그램 실행을 위한 파일로는 쉘 스크립트가 아니라 service라는 systemd만의 unit을 통해 체계적이면서 가독성이 좋도록 개발되었다.



 6) systemd는 단지 init 뿐만 아니라 다른 프로그램들의 기능마저 대체



 7) 네임서버 주소를 설정하는 resolv.conf의 자리를 systemd-resolved가 대체, DHCP 서버에서 IP를 받아와서 네트워크 인터페이스에 설정하는 dhcpcd의 자리를 systemd-networkd가 대체















systemd 유닛



  ▶ 유닛의 종류










systemd 관련 명령어



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



  ▶ 옵션


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


 2) -t: [ 유닛의 종류]: 지정한 종류의 유닛만 출력한다.




  ▶  명령


 1) start: 유닛을 시작한다.


 2) stop: 유닛을 정지한다.


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


 4) restart: 유닛을 재시작한다.


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


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


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











'Linux' 카테고리의 다른 글

디스크 관리와 RAID  (0) 2020.01.20
디스크 관리 및 파일 시스템  (0) 2020.01.20
리눅스 실습  (0) 2020.01.17
리눅스 부팅 과정  (0) 2020.01.17
접근 제어  (0) 2020.01.17