Solusi 1:
"d" adalah singkatan dari direktori dan direktori semacam itu adalah kumpulan file konfigurasi yang seringkali berupa fragmen yang disertakan dalam file konfigurasi utama. Intinya adalah untuk mengelompokkan masalah konfigurasi untuk meningkatkan kemampuan pemeliharaan.
Ketika Anda memiliki perbedaan seperti /etc/httpd/conf
vs /etc/httpd/conf.d
, biasanya /etc/httpd/conf
berisi berbagai jenis file konfigurasi, sedangkan .d
direktori berisi beberapa instance dari jenis file konfigurasi yang sama (seperti "modul untuk memuat", "situs untuk diaktifkan", dll.), dan administrator dapat menambah dan menghapus sesuai kebutuhan.
Solusi 2:
Kekuatan pendorong utama di balik keberadaan konvensi penamaan direktori ini adalah untuk manajemen paket file konfigurasi yang lebih mudah. Baik itu rpm, deb, atau apa pun, jauh lebih mudah (dan mungkin lebih aman) untuk dapat memasukkan file ke dalam direktori sehingga dimasukkan secara otomatis ke dalam konfigurasi program daripada mencoba mengedit file konfigurasi global.
Contoh bagusnya adalah logrotate. Di direktori /etc/logrotate.d adalah file konfigurasi untuk hampir semua aplikasi yang telah Anda instal yang menyimpan log di /var/log . Beberapa digabungkan ke dalam konfigurasi syslog karena hampir setiap sistem memiliki file pesan, wtmp, dan lastlog. Tetapi jika Anda menginstal Apache di sistem Anda, Anda memerlukan cara mudah untuk menambahkan konfigurasi secara otomatis untuk merotasi log Apache, jadi itu hanya memasukkan file konfigurasi bernama httpd di /etc/logrotate.d dan logrotate dikonfigurasi untuk menyertakan file dalam direktori itu. Masing-masing dimiliki oleh paket untuk daemon dan jika Anda menghapus paket itu akan menghapus file. Ini pada dasarnya adalah cara memodulasi file konfigurasi. Perhatikan bahwa ini perlu didukung oleh program, ini bukan sesuatu yang otomatis yang dilakukan sistem untuk Anda atau semacamnya. Biasanya program yang melakukannya memiliki direktif config yang disebut include yang menentukan di mana direktori itu berada di sistem file.
logrotate.d bahkan mungkin tempat pertama konvensi ini digunakan di luar init.d dan rc.d direktori untuk skrip init.