Saat ini ada 3 sistem init utama yang digunakan oleh linux. Beberapa tahun yang lalu, hanya ada satu, SysVinit. Tetapi SysVinit secara serius kurang dalam kemampuan seperti grafik ketergantungan layanan, sehingga sudah ditinggalkan di sebagian besar distro sekarang. Saat ini sebagian besar distro beralih ke systemd . Padahal ada juga pemula .
Tapi inilah jawaban untuk pertanyaan Anda untuk masing-masing dari 3 sistem init:
SysVinit
SysVinit saat ini digunakan oleh Debian dan RedHat. Padahal versi RedHat berikutnya (7) akan menggunakan systemd.
Cara universal untuk mengaktifkan layanan SysVinit saat boot adalah dengan menghubungkannya di /etc/rc3.d
(atau /etc/rc2.d
). Semua layanan dapat ditemukan di /etc/init.d
. Perhatikan bahwa distro akan sering memiliki alat sendiri untuk mengelola file-file ini, dan alat itu yang seharusnya digunakan. (Fedora / RedHat memiliki service
dan chkconfig
, ubuntu memiliki update-rc.d
)
Daftar layanan:
ls /etc/init.d/
Memulai layanan:
/etc/init.d/{SERVICENAME} start
atau
service {SERVICENAME} start
Hentikan layanan:
/etc/init.d/{SERVICENAME} stop
atau
service {SERVICENAME} stop
Aktifkan layanan:
cd /etc/rc3.d
ln -s ../init.d/{SERVICENAME} S95{SERVICENAME}
( S95
digunakan untuk menentukan pesanan. S01 akan mulai sebelum S02, dll)
Nonaktifkan layanan:
rm /etc/rc3.d/*{SERVICENAME}
Systemd
Distribusi paling terkenal menggunakan systemd adalah Fedora. Padahal ini digunakan oleh banyak orang lain. Selain itu, dengan Debian memilih untuk pergi dengan systemd overstart, itu akan menjadi sistem pemula yang defacto untuk sebagian besar distribusi (ubuntu telah mengumumkan mereka akan menjatuhkan pemula untuk systemd).
Daftar layanan:
systemctl list-unit-files
Memulai layanan:
systemctl start {SERVICENAME}
Hentikan layanan:
systemctl stop {SERVICENAME}
Aktifkan layanan:
systemctl enable {SERVICENAME}
Nonaktifkan layanan:
systemctl disable {SERVICENAME}
Pemula
Pemula dikembangkan oleh orang-orang Ubuntu. Tetapi setelah debian memutuskan untuk pergi dengan systemd , Ubuntu mengumumkan bahwa mereka akan drop up pemula .
Pemula juga secara singkat digunakan oleh RedHat, karena hadir di RHEL-6, tetapi tidak umum digunakan.
Daftar layanan:
initctl list
Memulai layanan:
initctl start {SERVICENAME}
Hentikan layanan:
initctl stop {SERVICENAME}
Aktifkan layanan:
2 cara sayangnya:
Akan ada file /etc/default/{SERVICENAME}
yang berisi satu baris ENABLED=...
. Ubah baris ini menjadi ENABLED=1
.
Akan ada file /etc/init/{SERVICENAME}.override
. Pastikan itu berisi start
(atau tidak ada sama sekali), tidak manual
.
Nonaktifkan layanan:
echo manual > /etc/init/{SERVICENAME}.override
Catatan: Ada juga sistem init 'OpenRC' yang digunakan oleh Gentoo. Saat ini Gentoo adalah satu-satunya distro yang menggunakannya, dan tidak sedang dipertimbangkan untuk digunakan, atau didukung oleh distro lainnya. Jadi saya tidak membahas penggunaan itu (meskipun jika pendapat saya lakukan, saya bisa menambahkannya).