Apakah /etc/init.d
direktori ubuntu sama persis (secara fungsional) dengan apa yang saya anggap lebih standar /etc/rc.d/
(setidaknya pada lengkungan)? Apakah ada alasan tertentu kanonik digunakan init.d daripada rc.d untuk skrip startup?
Apakah /etc/init.d
direktori ubuntu sama persis (secara fungsional) dengan apa yang saya anggap lebih standar /etc/rc.d/
(setidaknya pada lengkungan)? Apakah ada alasan tertentu kanonik digunakan init.d daripada rc.d untuk skrip startup?
Jawaban:
Ubuntu menggunakan /etc/init.d
untuk menyimpan skrip SysVinit karena Ubuntu didasarkan pada Debian dan itulah yang digunakan Debian. Red Hat menggunakan /etc/rc.d/init.d
. Saya lupa apa yang digunakan Slackware. Tidak ada lokasi standar.
Ubuntu sedang dalam proses beralih dari SysVinit ke Upstart , yang menggunakan file konfigurasi di /etc/init
.
/etc/init.d
. Transisi untuk /etc/init/*.conf
dimulai nanti (8.04 masih bergaya SysV, 10.04 sudah transisi).
/etc/init.d adalah lokasi bersejarah lama untuk SVR4. Saya lupa mengapa redhat menambahkan level /etc/rc.d/. Saya pikir untuk mengisolasi hal-hal ke rc.d, tetapi kemudian perlu menambahkan banyak symlink untuk kompatibilitas. Jadi ada /etc/init.d di redhat, cukup symlink di tempat lain.
Jadi lokasi standar adalah /etc/init.d, meskipun itu mungkin symlink bukan direktori nyata.
Ada beberapa distro Linux yang benar-benar tua yang menyalin BSD dengan /etc/rc.local tetapi tidak banyak yang menggunakan itu lagi.
Secara historis, /etc/rc.d
pohon direktori menunjukkan sistem Init yang mengikuti tradisi inisialisasi sistem BSD 4.4, yang biasanya disebut rc
sistem init. Semua sistem BSD (Free / Open / Net) modern dan Slackware Linux mengikuti tradisi ini.
The /etc/init.d
pohon direktori menunjukkan sistem init System V (SysV) yang mengikuti AT & T UNIX, SunOS, tradisi Solaris inisialisasi sistem. Ini biasa disebut sistem SysV Init. Debian yang tepat masih mengikuti tradisi ini di seri Wheezy, tetapi berencana untuk menggunakan SystemD di seri Jessie. Secara historis, RedHat dan turunannya telah menggunakan SysV Init, tetapi jangan lagi.
Selain itu, seiring waktu, fitur dari kedua skema init telah diadopsi oleh distribusi.
Sebenarnya, setidaknya di CentOS 6.8 Santiago, /etc/init.d
hanya softlink /etc/rc.d
.
PuppyLinux memiliki /etc/rc.d dan /etc/init.d , keduanya bukan merupakan symlink. Apa yang dimaksud dengan symlink adalah /etc/rc.d/init.d , yang menghubungkan level ke /etc/init.d (Saya sedang melihat Puppy berbasis Slackware-- ada juga rasa berbasis Ubuntu dan rasa lainnya .) Ada README.txt di masing-masing, menjelaskan pendekatan mereka.
Ok jadi, /etc/init.d
adalah tempat di mana Anda dapat dengan cepat menggunakan skrip init. Langkah kedua menuju mengaktifkan skrip ini adalah menjalankan chkconfig
perintah di atasnya. Katakanlah Anda menjalankan chkconfig --add <yourscript>
, tautan simbolik akan dibuat antara /etc/init.d/<yourscript>
dan/etc/rc.d/rcX.d/S50<script>
sebagai contoh. X di rcX.d mewakili runlevel number dari skrip, dan S50 mewakili tipe skrip (ada dua tipe ini, S & K, S memberitahu sistem untuk memulai skrip saat booting, dan K memberitahu sistem untuk keluar skrip dengan anggun ketika Anda mematikan. Nomor setelah S / K mewakili urutan di mana ini terjadi, jika Anda memiliki beberapa skrip yang bergantung pada orang lain yang aktif terlebih dahulu). Secara default, jika tidak ada runlevel yang ditentukan di dalam skrip atau ketika Anda mengeluarkan perintah runlevel, CentOS6 membuat skrip S50 untuk runlevel 2,3,4,5 dan K50 untuk runlevel 0,1,6.
/etc/rc.d
yang saya lihat ... Saya curiga ini bisa digunakan dalam bsd.