Saya mengkonfigurasi apache dan secara default saya memiliki direktori /etc/httpd/conf
dan /etc/httpd/conf.d
. Apa bedanya?
Anda juga dapat melihat akhiran di banyak direktori lain seperti /etc/init.d
, /etc/cron.d
, dll ...
linux
apache-2.2
SCL
sumber
sumber
/etc/apt/sources.list.d/
,/etc/profile.d
dll.d
kepanjangan daridefault
. Tidak, menurut informasi di sini, tetapi tampaknya logis. Mungkin saya bisa melanjutkan dan berpikir seperti itu?Jawaban:
"d" adalah singkatan dari direktori dan direktori tersebut adalah kumpulan dari file konfigurasi yang sering merupakan fragmen yang termasuk dalam file konfigurasi utama. Intinya adalah untuk memecah masalah konfigurasi untuk meningkatkan pemeliharaan.
Ketika Anda memiliki perbedaan seperti
/etc/httpd/conf
vs/etc/httpd/conf.d
, biasanya case itu/etc/httpd/conf
berisi berbagai jenis file konfigurasi, sementara.d
direktori berisi banyak contoh dari jenis file konfigurasi yang sama (seperti "modul untuk memuat", "situs untuk mengaktifkan" dll. ), dan administrator dapat menambah dan menghapus sesuai kebutuhan.sumber
Kekuatan pendorong utama di balik keberadaan konvensi penamaan direktori ini adalah untuk memudahkan pengelolaan paket file konfigurasi. Apakah rpm, deb atau apa pun, itu jauh lebih mudah (dan mungkin lebih aman) untuk dapat memasukkan file ke direktori sehingga secara otomatis dimasukkan ke dalam konfigurasi program daripada mencoba mengedit file konfigurasi global.
Contoh yang bagus untuk hal ini adalah logrotate. Dalam direktori /etc/logrotate.d adalah file config untuk hampir semua aplikasi yang telah Anda instal yang menyimpan log in / var / log . Beberapa dikelompokkan ke dalam konfigurasi syslog karena hampir setiap sistem memiliki pesan, file wtmp dan lastlog. Tetapi jika Anda menginstal Apache pada sistem Anda, Anda memerlukan cara mudah untuk secara otomatis menambahkan konfigurasi untuk memutar log Apache, sehingga hanya menjatuhkan file konfigurasi yang disebut httpd di /etc/logrotate.ddan logrotate dikonfigurasi untuk memasukkan file dalam direktori itu. Masing-masing dimiliki oleh paket untuk daemon dan jika Anda menghapus paket itu akan menghapus file. Ini pada dasarnya cara memodulasi file konfigurasi. Perhatikan bahwa ini perlu didukung oleh program, ini bukan sesuatu yang otomatis sistem lakukan untuk Anda atau sesuatu. Biasanya program yang melakukannya memiliki perintah config yang disebut include yang menentukan di mana direktori tersebut berada pada sistem file.
logrotate.d bahkan mungkin menjadi tempat pertama konvensi ini digunakan di luar direktori init.d dan rc.d untuk skrip init.
sumber