Konfiguruję apache i domyślnie mam katalogi /etc/httpd/conf
i /etc/httpd/conf.d
. Jaka jest różnica?
Ponadto można zobaczyć sufiks w wielu innych katalogów, takich jak /etc/init.d
, /etc/cron.d
itd ...
linux
apache-2.2
SCL
źródło
źródło
/etc/apt/sources.list.d/
,/etc/profile.d
etc.d
oznaczadefault
. Nie ma, zgodnie z informacjami tutaj, ale wydaje się logiczne. Może uda mi się myśleć o tym w ten sposób?Odpowiedzi:
„d” oznacza katalog, a taki katalog to zbiór plików konfiguracyjnych, które często są fragmentami zawartymi w głównym pliku konfiguracyjnym. Chodzi o to, aby rozdzielić przedziały dotyczące konfiguracji w celu zwiększenia łatwości konserwacji.
Jeśli masz takie rozróżnienie, jak
/etc/httpd/conf
vs/etc/httpd/conf.d
, zwykle/etc/httpd/conf
zawiera różne rodzaje plików konfiguracyjnych, podczas gdy.d
katalog zawiera wiele instancji tego samego typu pliku konfiguracyjnego (takich jak „moduły do załadowania”, „witryny do włączenia” itp. ), a administrator może dodawać i usuwać w razie potrzeby.źródło
Główną siłą napędową tej konwencji nazewnictwa katalogów jest łatwiejsze zarządzanie pakietami plików konfiguracyjnych. Niezależnie od tego, czy jest to rpm, deb czy cokolwiek innego, znacznie łatwiej (i prawdopodobnie bezpieczniej) jest możliwość upuszczenia pliku do katalogu, dzięki czemu jest on automatycznie dołączany do konfiguracji programu, zamiast próbować edytować globalny plik konfiguracyjny.
Dobrym przykładem tego jest logrotate. W katalogu /etc/logrotate.d znajdują się pliki konfiguracyjne dla praktycznie każdej zainstalowanej aplikacji, która prowadzi dziennik / var / log . Niektóre są powiązane w konfigurację syslog, ponieważ prawie każdy system ma komunikaty, wtmp i plik lastlog. Ale jeśli zainstalujesz Apache w swoim systemie, potrzebujesz łatwego sposobu automatycznego dodania konfiguracji do obracania dzienników Apache, więc po prostu upuszcza plik konfiguracyjny o nazwie httpd w /etc/logrotate.di logrotate jest skonfigurowany tak, aby zawierał pliki w tym katalogu. Każdy jest własnością pakietu dla demona i jeśli usuniesz pakiet, plik zostanie usunięty. Jest to w zasadzie sposób modularyzacji plików konfiguracyjnych. Pamiętaj, że musi to być obsługiwane przez program, to nie jest coś automatycznego, co system robi dla ciebie lub coś takiego. Zwykle programy, które to robią, mają dyrektywę config o nazwie include, która określa lokalizację tego katalogu w systemie plików.
logrotate.d może być nawet pierwszym miejscem, w którym ta konwencja została zastosowana poza katalogami init.d i rc.d dla skryptów init.
źródło