Linux에서 접미사 .d는 무엇을 의미합니까? 아파치를 구성하고 있으며 기본적으로

아파치를 구성하고 있으며 기본적으로 디렉토리 /etc/httpd/conf/etc/httpd/conf.d있습니다. 차이점은 무엇입니까?

또한 당신은 같은 많은 다른 디렉토리에 접미사를 볼 수 있습니다 /etc/init.d, /etc/cron.d등 …



답변

“d”는 디렉토리를 나타내며 이러한 디렉토리는 종종 기본 구성 파일에 포함 된 조각 인 구성 파일의 모음입니다. 요점은 구성 문제를 구획화하여 유지 관리 성을 향상시키는 것입니다.

/etc/httpd/confvs 와 같은 구별 /etc/httpd/conf.d이있는 경우 일반적으로 /etc/httpd/conf다양한 종류의 구성 파일 이 포함 된 경우가 있고 .d디렉토리에는 동일한 구성 파일 유형의 여러 인스턴스 (예 : “로드 할 모듈”, “사용할 사이트”등)가 포함됩니다. ) 관리자가 필요에 따라 추가 및 제거 할 수 있습니다.


답변

이 디렉토리 명명 규칙이 존재하는 주된 원동력은 구성 파일의 패키지 관리를보다 쉽게하는 것입니다. rpm, deb 등 무엇이든, 전역 구성 파일을 편집하지 않고 프로그램 구성에 자동으로 포함되도록 파일을 디렉토리에 놓을 수있는 것이 훨씬 쉽고 안전합니다.

이에 대한 좋은 예는 logrotate입니다. /etc/logrotate.d 디렉토리 에는 / var / log에 로그를 유지하는 실질적으로 설치 한 모든 응용 프로그램의 구성 파일이 있습니다 . 거의 모든 시스템에 메시지, wtmp 및 lastlog 파일이 있기 때문에 일부는 syslog 구성에 포함됩니다. 그러나 시스템에 Apache를 설치하는 경우 Apache 로그를 회전하기위한 구성을 자동으로 쉽게 추가 할 수있는 방법이 필요하므로 /etc/logrotate.d에 httpd라는 구성 파일을 드롭합니다.logrotate는 해당 디렉토리에 파일을 포함하도록 구성되어 있습니다. 각 패키지는 데몬 용 패키지에서 소유하며 패키지를 제거하면 파일이 제거됩니다. 기본적으로 구성 파일을 모듈화하는 방법입니다. 이것은 시스템이 자동으로 수행하는 것이 아니라 프로그램이 지원해야합니다. 일반적으로 config 지시문이있는 프로그램 에는 해당 디렉토리가 파일 시스템에서 어디에 있는지 지정하는 include포함됩니다 .

logrotate.d 는이 스크립트 가 init.drc.d 디렉토리 외부 에서 init 스크립트 에 사용 된 첫 번째 장소 일 수도 있습니다 .