.D eki Linux'ta ne anlama geliyor?


33

Ben apache yapılandırılması ediyorum ve varsayılan olarak ben dizinleri vardır /etc/httpd/confve /etc/httpd/conf.d. Fark ne?

Ayrıca gibi diğer pek çok dizinlerde ekini görebilirsiniz /etc/init.d, /etc/cron.dvb ...


1
bir serve atıfta bulunuyor demektir
dinamik,


8
@ yes123: Bu teori /etc/apt/sources.list.d/, /etc/profile.dvb ile iyi uyuşmuyor
Martin,

Haakon'un ve deltaray tarafından verilen cevaplar, ben merak .dstandları için default. Buradaki bilgilere göre değil, ama mantıklı görünüyor. Belki devam edebilir ve bu şekilde düşünebilirim?
Smandoli

Yanıtlar:


44

"d", dizini belirtir ve böyle bir dizin, genellikle ana yapılandırma dosyasına dahil edilen parçalardan oluşan bir yapılandırma dosyaları koleksiyonudur. Önemli olan, sürdürülebilirliği artırmak için yapılandırma endişelerini bölümlere ayırmaktır.

/etc/httpd/confVs gibi bir ayırımınız /etc/httpd/conf.dvarsa, genellikle /etc/httpd/confçeşitli farklı yapılandırma dosyaları içeren durum söz konusudur ; bir .ddizin aynı yapılandırma dosyası türünün (örneğin "yüklenecek modüller", "etkinleştirmek için siteler" vb. ) ve yönetici gerektiğinde ekleyebilir ve kaldırabilir.


4
fakat conf aynı zamanda bir dizindir, eğer ikisi de dizin ise, fark nedir? ServerFault konusunda haklısın, taşımak mümkün mü?
SCL

Fark hakkında biraz eklenmiş, umarım tamamen kafa karıştırıcı değildir :-)
Haakon

7
.D dizinleri normalde otomatik olarak yüklenir. Örneğin, cron cron.d'yi kontrol eder ve içindeki herhangi bir dosyayı ayrıştırır, ana apache yapılandırması yeniden yükleme sırasında conf.d içindeki tüm dosyaları içerecek olan "include conf.d / *" gibi bir şeye sahip olacaktır. Ayrıca modüllerin paket yönetimi için de gerçekten kullanışlı. Paket yöneticisi dosyaları düzenlemeyi denemek zorunda değildir, sadece modülün yapılandırmasını doğru .d dizinine bırakır ve ardından hizmeti yeniden yükler.
Niall Donegan

13

Bu dizin adlandırma kuralının varlığının arkasındaki ana itici güç, yapılandırma dosyalarının daha kolay paket yönetimi içindir. Rpm, deb veya her neyse, bir dosyayı bir dizine bırakabilmek çok daha kolaydır (ve muhtemelen daha güvenlidir), böylece bir global config dosyasını düzenlemeyi denemek yerine bir programın konfigürasyonuna otomatik olarak dahil edilir.

Buna güzel bir örnek logrotate. /Etc/logrotate.d dizininde , yüklü olan her uygulamanın / var / log'da bir günlük tutan her uygulama için config dosyaları vardır . Bazıları syslog yapılandırmasına girmiştir, çünkü hemen hemen her sistemin bir mesajı, wtmp ve lastlog dosyası vardır. Ancak Apache'yi sisteminize yüklerseniz, Apache'nin günlüklerini döndürmek için otomatik olarak config komutunu eklemenin kolay bir yoluna ihtiyacınız vardır, bu yüzden /etc/logrotate.d dizininde httpd adında bir config dosyasını bırakır.ve logrotate, bu dizindeki dosyaları içerecek şekilde yapılandırılmıştır. Her biri daemon için pakete aittir ve paketi kaldırırsanız dosyayı kaldırır. Temelde config dosyalarını modülerleştirmenin bir yolu. Bunun program tarafından desteklenmesi gerektiğine dikkat edin, sistemin sizin için yaptığı otomatik bir şey değil. O adında bir yapılandırma yönergesi var mı Genellikle programları dahil bu dizin dosya sistemi üzerinde nerede bulunduğunu belirtmek.

logrotate.d , bu konvansiyonun init betikleri için init.d ve rc.d dizinlerinin dışında kullanıldığı ilk yer bile olabilir .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.