리눅스 SysVinit, Systemd 차이
- 운영체제(OS)
- 2022. 10. 19.
SysVinit, Systemd은 리눅스 시스템의 초기화 프로그램입니다. 둘의 차이를 이해하려면 초기화 프로세스가 무엇인지부터 알아야 합니다.
리눅스 초기화란?
운영체제 커널은 부팅 직후 초기화 프로세스를 시작합니다. 쉽게 말해 시스템에 필요한 프로세스가 자동으로 실행되는 단계입니다. 이때 초기화 시스템은 구성 파일을 읽고 구성 상태에 따라 서비스와 프로세스를 시작합니다. 한마디로 초기화 프로세스는 모든 프로세스의 시작점 입니다. 그래서 1번 PID가 부여됩니다.
sysvinit은 init이라는 명칭, systemd는 systemd라는 명칭의 프로세스입니다. 두 시스템의 차이는 초기화된 프로세스를 다른 방식으로 처리한다는 것입니다.
systemd sysvinit 차이
sysvinit이 더 오래된 시스템입니다. centos 기준으로는 6버전 이하에서 주로 사용됐으며 현재 대부분의 리눅스 배포판에서는 systemd가 사용됩니다.
sysvinit은 /etc/init.d
의 셸 스크립트를 통해 시작 프로세스를 처리합니다. systemd는 /etc/systemd/system/.service
파일을 통해 프로세스를 처리합니다.
두 시스템은 동일한 기능을 실행할 때 사용하는 명령어가 다릅니다.
[systemd]
systemctl start sshd
systemctl status sshd
systemctl enable mysqld
[sysvinit]
service start sshd
service sshd status
chkconfig mysqld on
systemd sysvinit 구분하는 방법
리눅스가 어떤 초기화 시스템 기반인지 확인하려면 pstree
명령어를 실행하면 됩니다. pstree는 실행 중인 프로세스를 트리형태로 보여주는 명령어인데, 위에서 언급했듯 최상위 트리는 systemd 또는 init이기 때문에 맨 상단에 있는 프로세스가 무엇인지 확인하면 구분할 수 있습니다.
pstree
'운영체제(OS)' 카테고리의 다른 글
리눅스 파티션 dev/sda에 하면 안 되는 이유 (0) | 2022.10.21 |
---|---|
리눅스 파일 삭제 rm -rf 대형사고 예방 방법 (0) | 2022.10.21 |
리눅스 su, sudo 차이 (sudo 사용이 권고되는 이유) (0) | 2022.10.18 |
32비트 응용 프로그램이 여전히 사용되는 이유 (0) | 2022.10.17 |
리눅스 비트, 아키텍처, CPU 정보 확인 방법 (0) | 2022.10.15 |