/etc/init.d 와 /etc/init 폴더의 차이점

/etc/init.d 는 System V init tools(SysVinit)가 사용하는 스크립트를 담고 있습니다. 이는 리눅스가 지금까지 전통적으로 사용해온 서비스 관리 프로그램인 init 프로세스가 사용하는 스크립트 들입니다. init 프로세스는 커널이 초기화되고 나서 가장 처음 실행되는 프로세스 입니다. /etc/init.d 안에는 init 프로세스가 특정한 서비스(apache, mysql, …) 들을 start, stop, restart, reload 할 수 있는 쉘 스크립트들이 들어있습니다. 이 스크립트들은 사용자가 직접 실행할 수도 있고 /etc/rc?.d 디렉토리에 링크가 연결되어 부팅시에 자동으로 실행하게 할수도 있습니다

/etc/init 은 Upstart가 사용하는 설정파일들을 담고 있습니다. Upstart는 너무 오래된 init을 대체하기 위한 비교적 최근에 개발된 프로그램 입니다. /etc/init 디렉토리에는 Upstart가 start, stop, reload, status 명령을 통해서 특정 서비스를 어떻게 동작시켜야 하는지 설정을 담고있습니다. 우분투 10.04(lucid) 버전부터 우분투는 전통적인 SysVinit 프로세스에서 Upstart 로 전환중입니다. Upstart 로 시스템 구성이 선호되지만 당분간은 SysVinit 구조도 같이 제공될것입니다. 사실, SysVinit 스크립트는 Upstart의 호환성 레이어를 이용해서 처리되게 됩니다.

.d 디렉토리 이름은 일반적으로 어떤 환경에 필요한 설정 파일이나 스크립트를 담고 있다는 의미로 쓰입니다.(예를 들어 /etc/apt/sources.list.d 는 sources.list 를 작성하는데 필요한 파일들이 들어있습니다. /etc/network/if-up.d 는 네트워크 인터페이스를 활성화 시킬때 필요한 스크립트를 담고 있습니다).
이 경우에는 “init”은 논리적인 이름을 가진 디렉토리 이지만, SysVinit이 먼저 init.d 디렉토리를 사용하고 있으니, Upstart는 그냥 init 을 같은 목적으로 사용하는 디렉토리명으로 선택했습니다.

Upstart 는 systemd로 언젠가는 대체될 예정입니다.

참고자료
http://blog.sapzil.org/2014/08/12/upstart/
http://lunatine.net/about-systemd/

Advertisements

우분투 14.04 부팅시 실행되는 서비스 관리하기

우분투는 버전에 따라서 system v init, upstart, systemd가 다 쓰인다 -_-;

자신이 쓰고 있는 우분투 버전이 뭔지에 따라서 어떤걸 쓰는지 다른것이다. 우분투 14.04 같은 경우는 upstart를 사용한다.

그런데 system v init 시스템이 그대로 존재하는 것처럼 보인다. 이 부분이 오해를 일으켰다..

rcconf 프로그램으로 아무리 rc 설정을 바꿔도 반영이 이루어지지 않았다.

이 내용을 잘 설명해준 글이 있어서 링크를 첨부~ 불펌은 안되니까 ㅋ

http://snoopybox.co.kr/1720