차이점은 무엇이며 /etc/init/
그리고 /etc/init.d/
?
더 일반적으로, .d
접미사는 디렉토리에 어떤 의미를 전달합니까?
차이점은 무엇이며 /etc/init/
그리고 /etc/init.d/
?
더 일반적으로, .d
접미사는 디렉토리에 어떤 의미를 전달합니까?
답변:
/etc/init.d
System V init 도구 (SysVinit)에서 사용하는 스크립트를 포함합니다. 이것은 Linux를위한 전통적인 서비스 관리 패키지이며, init
프로그램 (커널 초기화가 완료되었을 때 실행되는 첫 번째 프로세스 ¹)과 서비스를 시작 및 중지하고 구성하기위한 인프라가 포함되어 있습니다. 특히,의 파일 /etc/init.d
에 대응 쉘 스크립트입니다 start
, stop
, restart
(지원되는 경우)와 reload
특정 서비스를 관리하는 명령은. 이 스크립트는 다른 트리거를 통해 직접 또는 (가장 일반적으로) 호출 할 수 있습니다 (일반적으로의 기호 링크가 있음 /etc/rc?.d/
).
/etc/init
Upstart가 사용하는 구성 파일을 포함합니다. Upstart는 Ubuntu가 지원하는 젊은 서비스 관리 패키지입니다. 의 파일은 /etc/init
방법과시기에 갑자기 출세 한 이야기 구성 파일입니다 start
, stop
, reload
구성, 또는를 조회 status
하는 서비스의. 자명 한 현재 Ubuntu는 SysVinit에서 Upstart로 전환하고 있는데, 이는 Upstart 구성 파일이 선호되는 경우에도 많은 서비스에 SysVinit 스크립트가 제공되는 이유를 설명합니다. 실제로 SysVinit 스크립트는 Upstart의 호환성 계층에 의해 처리됩니다.
.d
(예 디렉토리 이름 전형적 특정 상황에 대한 다양한 구성 파일 또는 스크립트를 포함하는 디렉토리를 나타내는 /etc/apt/sources.list.d
가상하도록 연접되는 파일을 포함하는 sources.list
, /etc/network/if-up.d
네트워크 때 실행되는 스크립트에 포함 내가 nter F ACE가 활성화된다). 이 구조는 일반적으로 디렉토리의 각 항목이 다른 소스에서 제공 될 때 사용되므로 각 패키지가 단일 구성 파일을 구문 분석하지 않고 자체 플러그인을 입금 할 수 있습니다. 이 경우 "init"는 디렉토리의 논리적 이름이고 SysVinit가 먼저 사용되고 사용 init.d
되며 Upstart는 일반을 사용했습니다.init
비슷한 목적을 가진 디렉토리를 위해 (대부분의 경우 "주류"였을 것이고, 아마도 오만했을 수도 있습니다 /etc/upstart.d
).
¹ initrd를 계산하지 않음
upstart
또는 라는 패키지가 있는지 확인하십시오 sysvinit
. 그리고 최근 버전에서는 systemd
( 아마도 대답을 썼을 때 우분투에는 없었 습니다)있을 수 있습니다 . 패키지가 제공하는 /sbin/init
( dpkg -S /sbin/init
)입니다.
upstart
/ sbin / init (ran dpkg -S /sbin/init
) 를 제공 하는 패키지입니다 . 그러나 Bitnami는 스크립트를 /etc/init.d 디렉토리에 배치했습니다. 위의 @AsheeshR에 대한 귀하의 답변과 충돌하지 않습니까? 감사합니다.
".d"는 일반적으로 디렉토리 이름에 추가되어 단일 스크립트 또는 단일 구성 파일에서 처리했거나 처리 할 수있는 항목이 편의상 여러 파일로 분할되었음을 나타냅니다. 함께 포함되거나 함께 실행되어야합니다.
예를 들어, /etc/apache/conf.d/
또는/etc/apt/sources.d/
어떤 순서로 포함 / 실행해야하는지 중요한 경우,이 디렉토리의 파일은 "00-default"또는 "80-user"와 같은 숫자로 시작하여 올바른 순서로 실행됩니다.
의 경우 /etc/init.d/
그것은 일종의 "있는 init.d"의 스크립트가 모두 실행해야 함을 나타냅니다. 그러나 오늘날 현대 운영 체제의 init 시스템은 그보다 조금 더 복잡하지만 디렉토리 이름은 여전히 존재합니다.
지적했듯이 ".d"명명법은 당혹스럽고 이상하며 현대 시스템에는 실제로 존재하지 않습니다. 대부분의 최신 서비스가이를 떨어 뜨리는 경향이 있습니다.
디렉토리가 존재 /etc/init
하지 않는 이유는 /etc/upstart
Upstart가 프로젝트 이름이기 때문에 실제 설치된 바이너리는 여전히 /sbin/init
바이너리와 일치하지 않는 이름을 갖는 구성에는 의미가 없습니다.
rules.d
, uorg ' s , Xorg의 비교적 최근의 xorg.conf.d
, 너무 오래되지 않은 /etc/profile.d
등을보십시오.
.d
System V로 입력 한 디렉토리 예를 들어,cat
그것이 수행하는 작업의 이름이 잘못 되었다고 생각 되면 시스템 전체에서 파일을 변경하기 위해 얼마나 많은 파일을 터치해야하는지 상상해보십시오.