리눅스는 현재 3 가지 주요 초기화 시스템을 사용하고 있습니다. 몇 년 전만해도 SysVinit가있었습니다. 그러나 SysVinit는 서비스 종속성 그래프와 같은 기능이 심각하게 부족하여 지금까지 대부분의 배포에서 더 이상 사용되지 않습니다. 현재 대부분의 배포판은 systemd 로 전환하고 있습니다. 하지만도있다 신출내기 .
그러나 다음은 세 가지 init 시스템 각각에 대한 귀하의 질문에 대한 답변입니다.
SysVinit
SysVinit는 현재 데비안과 RedHat에서 사용합니다. RedHat (7)의 다음 버전은 systemd를 사용합니다.
부팅시 SysVinit 서비스를 활성화하는 보편적 인 방법은 /etc/rc3.d
(또는 /etc/rc2.d
) 에서 심볼릭 링크하는 것입니다 . 모든 서비스는에서 찾을 수 있습니다 /etc/init.d
. 그러나 배포판에는 종종 이러한 파일을 관리하기위한 자체 도구가 있으며 대신 해당 도구를 사용해야합니다. (페도 / 레드햇 보유 service
하고 chkconfig
우분투 가지고 update-rc.d
)
서비스 나열 :
ls /etc/init.d/
서비스 시작 :
/etc/init.d/{SERVICENAME} start
또는
service {SERVICENAME} start
서비스 중지 :
/etc/init.d/{SERVICENAME} stop
또는
service {SERVICENAME} stop
서비스 활성화 :
cd /etc/rc3.d
ln -s ../init.d/{SERVICENAME} S95{SERVICENAME}
(이는 S95
주문을 지정하는 데 사용됩니다. S01은 S02 이전에 시작됩니다)
서비스 비활성화 :
rm /etc/rc3.d/*{SERVICENAME}
체계화
systemd를 사용하는 가장 유명한 배포판은 Fedora입니다. 많은 사람들이 사용하지만. 또한 데비안은 upstart를 통해 systemd를 선택함으로써 대부분의 배포판에서 사실상 upstart 시스템이 될 것입니다 (ubuntu는 이미 systemd에 대한 upstart를 중단한다고 발표했습니다).
서비스 나열 :
systemctl list-unit-files
서비스 시작 :
systemctl start {SERVICENAME}
서비스 중지 :
systemctl stop {SERVICENAME}
서비스 활성화 :
systemctl enable {SERVICENAME}
서비스 비활성화 :
systemctl disable {SERVICENAME}
건방진 녀석
Upstart는 우분투 사람들에 의해 개발되었습니다. 그러나 데비안 이 systemd를 사용하기로 결정한 후 우분투 는 시작을 포기할 것이라고 발표했다 .
RHEL-6에는 RedHat이 Upstart를 간단히 사용했지만 일반적으로 사용하지는 않았습니다.
서비스 나열 :
initctl list
서비스 시작 :
initctl start {SERVICENAME}
서비스 중지 :
initctl stop {SERVICENAME}
서비스 활성화 :
불행히도 두 가지 방법 :
/etc/default/{SERVICENAME}
줄이 포함 된 파일 이 있습니다 ENABLED=...
. 이 줄을로 변경하십시오 ENABLED=1
.
파일이있을 것 /etc/init/{SERVICENAME}.override
입니다. 포함 start
하지 않았거나 완전히 포함되어 있지 않아야 manual
합니다.
서비스 비활성화 :
echo manual > /etc/init/{SERVICENAME}.override
참고 : 젠투가 사용하는 'OpenRC'init 시스템도 있습니다. 현재 Gentoo는 그것을 사용하는 유일한 배포판이며, 다른 배포판에 의해 사용되거나 고려되지 않습니다. 따라서 사용법을 다루지 않습니다 (의견이 있다고 생각하더라도 추가 할 수 있습니다).