Satu hal yang selalu membingungkan saya di Ubuntu adalah bagaimana layanan sistem dimulai. Saya tahu Ubuntu menggunakan Upstart dan mendukung SysV, tetapi yang mana yang digunakan untuk memulai layanan? Ini penting ketika Anda ingin "manual" memulai layanan.
Misalnya, pada sistem saya, saya memiliki file untuk layanan berikut di /etc/init.d/<service>
(SysV) dan /etc/init/<service>.conf
(Pemula):
acpid, mysql, networking, qemu-kvm, ufw, libvirt-bin
Jadi jika saya ingin menonaktifkan eksekusi MySQL saat startup, saya harus menggunakan cara pemula atau cara SysV untuk menonaktifkannya? Juga, bagaimana saya bisa tahu yang mana yang benar-benar digunakan untuk memulai layanan generik?
Edit
Yang benar-benar diragukan di sini bukanlah bagaimana menonaktifkan / mengaktifkan layanan menggunakan SysV / Upstart. Yang benar-benar membingungkan saya adalah bahwa beberapa layanan tampaknya didefinisikan (dan diaktifkan) di SysV dan pemula pada saat yang sama. Apakah ada prioritas di antara mereka (seperti jika mysql
diaktifkan di kedua peluncurannya menggunakan SysV)? Atau mungkinkah salah satu alat menggunakan yang lain di latar belakang?
Jawaban:
Mengenai layanan yang didefinisikan dalam SysV dan pemula, umumnya jika Anda me-restart melalui SysV Anda akan melihat sesuatu seperti ini:
Maksud saya ini adalah bahwa Upstart lebih disukai untuk layanan ini, dan implementasi SysV hanyalah pembungkus.
Juga, saya pikir Anda memiliki arti direktori ke belakang. / etc / init adalah konfigurasi pemula, /etc/init.d adalah kompatibilitas SysV, tetapi ini hanya symlinks untuk memulai untuk jenis layanan ini.
sumber
Itu sangat tergantung pada aplikasi dan pengelolanya kemasan.
Ada preferensi yang kuat untuk skrip pemula karena mereka menangani acara (yang umumnya merupakan hal yang hebat) tetapi banyak aplikasi tidak memiliki skrip pemula yang cukup baik atau pengelola aplikasi telah memilih untuk tetap dengan default (aplikasi atau Debian) .
Bagaimanapun, Anda berada dalam posisi di mana Anda harus beradaptasi.
.conf
, ataumanual
ke file. Ini akan memungkinkan Anda untuk memuat layanan secara manual.Untuk layanan yang lebih lama:
Jika Anda memiliki
/etc/init.d/
naskah untuk sesuatu dan sebuah/etc/init/
naskah dan Anda ingin memeriksa apakah versi init.d masih hidup, Anda dapat memeriksa dengan:Jika Anda melihat banyak symlink, itu diinstal di init SysV lama.
sumber
acpid
), saya dapat menganggap itu diluncurkan oleh SysV? Atau jika saya ingin menonaktifkannya saya perlu melakukannya menggunakanupdate-rc.d
dan trik mengubah nama?