Ich kenne viele Verzeichnisse mit .d im Namen:
init.d
yum.repos.d
conf.d
Bedeutet das Verzeichnis? Wenn ja, woraus ergibt sich eine eindeutige Unterscheidung?
UPDATE: Ich hatte viele interessante Antworten, was das .d
bedeutet, aber der Titel meiner Frage war nicht gut gewählt. Ich habe "mean" geändert, um für "zu stehen".
.d
siehe msws Kommentar zu dieser verwandten Frage bei Ask Ubuntu ..d
ininit.d
, aber es scheint, dass fast alle benutzerdefinierten Konfigurationsdateien in.d
Verzeichnisse in RHEL / CentOS / Fedora verschoben werden.Antworten:
Das
.d
Suffix bedeutet hier Verzeichnis. Natürlich wäre dies nicht notwendig , da Unix einen Dateityp zu bezeichnen , kein Suffix erfordert aber in diesem speziellen Fall etwas notwendig war , die Befehle (eindeutig zu machen/etc/init
,/etc/rc0
,/etc/rc1
usw.) und die Verzeichnisse sie verwenden (/etc/init.d
,/etc/rc0.d
,/etc/rc1.d
,. ..)Diese Konvention wurde zumindest mit Unix System V eingeführt, möglicherweise jedoch früher. Der
init
Befehl befand sich früher in, befindet sich/etc
aber jetzt in der Regel in/sbin
modernen System V-Betriebssystemen.Beachten Sie, dass diese Konvention von vielen Anwendungen übernommen wurde, die von einer Konfigurationsdatei in mehrere Konfigurationsdateien in einem einzigen Verzeichnis verschoben wurden, z.
/etc/sudoers.d
Auch hier besteht das Ziel darin, Namenskonflikte zu vermeiden, und zwar nicht zwischen der ausführbaren Datei und der Konfigurationsdatei, sondern zwischen der früheren monolithischen Konfigurationsdatei und dem Verzeichnis, in dem sie enthalten sind.
quelle
ls
Befehl ausführen (nichtls -al
), ohne die--color
Option zu verwenden (entweder explizit angegeben oder Teil derLS_OPTIONS
Umgebungsvariablen), heben sich Verzeichnisse durch die Angabe von ".d" von der Liste ab. Deshalb dachte ich immer, dass es getan wurde.color
ist nicht die einzige oder beste Möglichkeit, Verzeichnisse visuell zu kennzeichnen.ls -F
werde das und viele weitere nützliche Dinge tun.Auszug aus einer Debian-Mailingliste (Hervorhebung hinzugefügt):
Für Teil 2, den Grund für das ".d", würde ich nach bestem Wissen "verteilt" sein, da dies nicht Teil der Hauptkonfigurationsdatei, sondern immer noch Teil der Konfiguration ist .
quelle
.d
Bedeutete , dass alles andere für mich unverständlich ist! Diese Quelle zeigt jedoch nur Debians Gründe, in einem Kontext eine Konvention zu verwenden, die seit den Anfängen von Unix existierte. Ich muss mich fragen, ob dieser Debian-Betreuer absichtlich vereinfacht hat - oder ob Debian diese Praxis wirklich erfunden hat.Wenn Sie am Ende der Verzeichnisnamen von ".d" sprechen, ist diese Antwort richtig, es ist nur eine Markierung für "Verzeichnis".
Verwechseln Sie es nur nicht mit "d" am und eines Dateinamens wie "syslogd", der für daemon steht . Ein Computerprozess, der im Hintergrund ausgeführt wird.
quelle
syslogd
und nicht von Verzeichnissen, die mit ".d" enden. Ich bearbeite gleich.sysctl.d
,modprobe.d
.. wäre , dass eine unangemessene Verwendung sein?.d
Dies bedeutet nicht, dass Verzeichnisse per se sind. Im Grunde geschieht, dass Verzeichnisse, die auf enden (beachten Sie, dass diese normalerweise immer auf enden/etc
), Konfigurationsteile enthalten.Dies ist so konzipiert, dass Distributionen beispielsweise universelle Standardeinstellungen enthalten können. Es
/etc/yum.conf
gibt jedoch eine einfach zu verwendende Methode für Benutzer oder andere Pakete, um ihre eigenen yum-Konfigurationen auf sichere Weise anzufügen, die nicht überschrieben werden.Als Beispiel für yum ...
Wenn ich EPEL auf meiner RHEL5- oder CentOS-Box verwenden möchte, kann ich ein neues Repository im
/etc/yum.repos.d
Ordner konfigurieren (sagen wir/etc/yum.repos.d/epel.repo
) oder das Epel-Release-Paket installieren, das die Datei automatisch erstellt, ohne meine Standardkonfiguration zu ändern oder Dateikonflikte zu verursachen muss nicht passieren.Was passieren wird, ist, dass die meisten Programme ihre Standardkonfiguration lesen (
/etc/yum.conf
zum Beispiel) und dann über ihre.d
Ordner, einschließlich Konfigurationsschnipsel, in das laufende Programm iterieren .Hoffe, es erklärt es für Sie.
quelle
Genauso wie Dateien
.ext
angeben müssen , um welchen Dateityp es sich handelt (üblicherweise als "Erweiterung" bezeichnet), müssen Verzeichnisse manchmal anzeigen.d
, dass es sich um ein Verzeichnis und nicht um eine Datei handelt. Das ist sein Typ. Bei der Standardausgabels
werden Verzeichnisse und Dateien nicht visuell unterschieden. Daher.d
ist es nur eine alte Konvention, den Typ (das Verzeichnis) in solchen Auflistungen anzuzeigen.quelle
.d
verhindert das Suffix Kollisionen mit einer Datei mit ähnlichem Namen. Beispielsweise können Sie eine Konfigurationsdatei/etc/apt/sources.list
und ein Verzeichnis mit Konfigurationsdateien haben/etc/apt/sources.list.d
.Im Allgemeinen geben die Verzeichnisse .d (/etc/httpd/conf.d, /etc/rc.d, / etc / als weiteres Beispiel) an, dass die enthaltenen Dateien gelesen und häufig zur Konfiguration verwendet werden, wenn sie übereinstimmen ein bestimmtes Muster und müssen nicht explizit zu einer Master-Liste hinzugefügt werden.
Wenn Sie also Dateien der Form * .repo zu /etc/yum.repos.d hinzufügen, wird sie von yum beim Ausführen verwendet, ohne dass Sie sie einer Konfigurationsliste /etc/yum.conf hinzufügen müssen. Wenn Sie Dateien der Form * .conf zu /etc/http/conf.d hinzufügen, werden sie von Apache gelesen, ohne dass dies explizit zu /etc/httpd/conf/httpd.conf hinzugefügt werden muss. Ebenso chkconfig auf Dateien in /etc/init.d, cron jobs in /etc/cron.d.
quelle
Ich denke, kann aber nicht dokumentieren, dass das
.d
anzeigt, dass das Verzeichnis einem D aemon zugeordnet ist.Hinweise würden darauf hindeuten, dass dies zumindest plausibel ist:
Irgendwo in den tiefen Nischen der kleinen Teile der alten Unix-Geschichte, die immer noch im Hinterkopf hinter den Spinnweben herumwirbeln, erscheint mir dies als die richtige Antwort. Ich glaube, es könnte aus einer Zeit stammen, als die ersten Säugetiere die Erde durchstreiften, bevor die Dinosaurier auszusterben begannen und
man
Seiten nicht nur im System, sondern auch physisch in Gestellen, gemessen am Fuß, aufbewahrt wurden.quelle
</cobwebs>
Ich glaube, dass die Antworten, die darauf hindeuten, dass der Zweck der.d
ist, das Verzeichnis von den verwandten und ähnlich benannten Dateien zu trennen, die richtigen sind. Ich habe E-man's und jlliagre's upvoted.yum
ist eine neuere Erfindung.