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?
ubuntu
init-script
Falmarri
sumber
sumber
/etc/rc.d
yang saya lihat ... Saya curiga ini bisa digunakan dalam bsd.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
.sumber
/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.
sumber
Slackware masih menggunakan
/etc/rc.d
Penggunaan FreeBSD
/etc/rc.d
dan/usr/local/etc/rc.d
sumber
Secara historis,
/etc/rc.d
pohon direktori menunjukkan sistem Init yang mengikuti tradisi inisialisasi sistem BSD 4.4, yang biasanya disebutrc
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.
sumber
Sebenarnya, setidaknya di CentOS 6.8 Santiago,
/etc/init.d
hanya softlink/etc/rc.d
.sumber
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.
sumber
Ok jadi,
/etc/init.d
adalah tempat di mana Anda dapat dengan cepat menggunakan skrip init. Langkah kedua menuju mengaktifkan skrip ini adalah menjalankanchkconfig
perintah di atasnya. Katakanlah Anda menjalankanchkconfig --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.sumber