Ich konfiguriere Apache und standardmäßig habe ich die Verzeichnisse /etc/httpd/conf
und /etc/httpd/conf.d
. Was ist der Unterschied?
Sie können auch das Suffix in vielen anderen Verzeichnissen wie sehen /etc/init.d
, /etc/cron.d
usw ...
linux
apache-2.2
SCL
quelle
quelle
/etc/apt/sources.list.d/
,/etc/profile.d
etc.d
für stehtdefault
. Den Informationen hier zufolge ist dies nicht der Fall, aber es scheint logisch. Vielleicht kann ich es mir so vorstellen?Antworten:
"d" steht für Verzeichnis und ein solches Verzeichnis ist eine Sammlung von Konfigurationsdateien, die häufig Fragmente sind, die in der Hauptkonfigurationsdatei enthalten sind. Es geht darum, Konfigurationsprobleme zu unterteilen, um die Wartbarkeit zu verbessern.
Wenn Sie eine Unterscheidung wie
/etc/httpd/conf
vs treffen/etc/httpd/conf.d
, sind in der Regel/etc/httpd/conf
verschiedene Arten von Konfigurationsdateien enthalten, während ein.d
Verzeichnis mehrere Instanzen desselben Konfigurationsdateityps enthält (z. B. "zu ladende Module", "zu aktivierende Sites" usw.) ), und der Administrator kann nach Bedarf hinzufügen und entfernen.quelle
Die wichtigste Triebfeder für die Existenz dieser Verzeichnisnamenkonvention ist die einfachere Paketverwaltung von Konfigurationsdateien. Unabhängig davon, ob es sich um rpm, deb oder was auch immer handelt, ist es viel einfacher (und wahrscheinlich sicherer), eine Datei in einem Verzeichnis abzulegen, sodass sie automatisch in die Programmkonfiguration einbezogen wird, anstatt zu versuchen, eine globale Konfigurationsdatei zu bearbeiten.
Ein gutes Beispiel dafür ist Logrotate. Im Verzeichnis /etc/logrotate.d befinden sich Konfigurationsdateien für praktisch jede von Ihnen installierte Anwendung, die ein Protokoll in / var / log führt . Einige sind in der Syslog-Konfiguration zusammengefasst, da fast jedes System über eine Nachrichten-, eine wtmp- und eine lastlog-Datei verfügt. Wenn Sie Apache jedoch auf Ihrem System installieren, müssen Sie die Konfiguration zum Rotieren der Apache-Protokolle auf einfache Weise automatisch hinzufügen, sodass nur eine Konfigurationsdatei mit dem Namen httpd in /etc/logrotate.d abgelegt wirdund logrotate ist so konfiguriert, dass die Dateien in diesem Verzeichnis enthalten sind. Jedes gehört dem Paket für den Dämon, und wenn Sie das Paket entfernen, wird die Datei entfernt. Es ist im Grunde eine Möglichkeit, Konfigurationsdateien zu modularisieren. Beachten Sie, dass dies vom Programm unterstützt werden muss, es ist nicht automatisch, dass das System für Sie oder so etwas tut. Normalerweise enthalten Programme, die eine Konfigurationsanweisung namens haben , die angibt, wo sich dieses Verzeichnis im Dateisystem befindet.
logrotate.d könnte sogar der erste Ort sein, an dem diese Konvention außerhalb der Verzeichnisse init.d und rc.d für Init-Skripte verwendet wurde.
quelle