Saya memiliki layanan foo
yang saat ini dimulai pada runlevel 3 ke atas. Bagaimana saya bisa menghentikannya, tanpa menggunakan update-rc.d foo stop 3 .
, yang (jika saya memahaminya dengan benar) akan mematikan layanan di setiap perubahan runlevel.
(mis., jika saya berada di runlevel 1 dan diaktifkan foo
, maka ketika saya berubah menjadi runlevel 3 itu akan dinonaktifkan, bukan?)
Menjalankan Debian GNU / Linux Lenny.
sudo update-rc.d -f sunrpc remove
tidak bekerja; masih ada setelah reboot.ls /etc/rc*.d
16.04
update-rc.d apache2 disable
Konfigurasikan Aplikasi Startup Linux dengan sysv-rc-conf :
Seperti yang orang lain tunjukkan, ini juga update-rc.d untuk baris cmd.
Misalnya, jalankan
untuk menonaktifkan apache2 dari semua level yang dijalankan.
sumber
service foo stop
atau me-reboot serverPendek:
Tidak ada cara yang dapat diandalkan untuk melakukan ini dengan cepat.
Panjang:
Debian saat ini (Debian tidak stabil pada 2012-06-01) saat ini tidak memiliki cara pendek yang dapat diandalkan untuk menonaktifkan layanan / daemon secara konsisten. - Karena pemutakhiran paket daemon tanpa syarat menjalankan "/etc/init.d/package restart", menonaktifkannya untuk runlevel ini atau tidak.
Untuk memastikan daemon tidak dimulai, Anda dapat:
Ada / sedang (?) Beberapa langkah init-policy-something untuk skrip init di Debian, yang seharusnya mengisi fungsi yang hilang ini. - Saya mencoba menggunakannya, merasa rumit, menemukan bug, dan tidak pernah menyentuhnya lagi.
Memperbarui:
Beralih ke "systemd", sebuah alternatif untuk "initd". Paket debian ada, dan Anda dapat menonaktifkan layanan dengan sesuatu seperti ini:
sumber
unlink xyz.service
juga?systemd
akan menggunakannya. - Jadi tautan memberitahukannya untuk tidak mencari mereka./etc/default/xyz
file untuk menambahkan tidakexit
akan mencegah paket untuk menimpa file dengan versi yang benar pada peningkatan berikutnya. (Paket ini menyimpan file konfigurasi, dan dalam banyak kasus skrip init tidak dipandang seperti itu.) Jadi dalam kebanyakan kasus itu tidak akan membantu.Jalankan perintah ini
apt-get install rcconf
Setelah diinstal, jalankan rcconf di SSH dan Anda akan menerima kotak dialog yang menampilkan semua layanan yang diatur untuk dijalankan saat boot. Pilih yang dengan menekan Space untuk menonaktifkan / mengaktifkan tertentu dan Anda selesai, klik saja pada Ok dan layanan itu tidak akan repot untuk memulai lagi pada boot berikutnya. Menggunakan ini selama bertahun-tahun. Alat yang sangat berguna untuk pengguna Debian / Ubuntu seperti saya.
sumber
Saya bingung apa yang ingin Anda capai.
Di level apa Anda ingin menjalankan foo?
Jika Anda selalu ingin itu berjalan, gunakan
update-rc.d foo defaults
; yang akan menghentikannya dalam 0, 1 dan 6, sambil membiarkannya tetap berjalan dalam 2, 3, 4 dan 5. (1 seharusnya tidak menjalankan apa pun kecuali sebuah shell, 0 dan 6 berhenti dan reboot)Jika Anda ingin menentukan dengan tepat level run yang akan dijalankan:
sumber
Saya pikir ini akan melakukan pekerjaan: insserv -r foo
sumber
Mulai gunakan insserv dari Debian7
Keluarkan semua layanan dan jalankan informasi tingkat
Hapus skrip yang terdaftar dari semua runlevel
sumber
Ubuntu Bootup Manager adalah jenis SysV-rc-conf cahaya , lebih ramah, versi GUI, dan banyak orang membaca thread ini akan menghargai itu.
http://www.marzocca.net/linux/bum.html
sumber
Pada sistem berbasis topi merah yang bisa Anda gunakan
untuk menghapus server dari runlevels
pada sistem berbasis debian semua layanan seharusnya dimulai oleh file yang ditemukan di direktori /etc/rc?.d/, file-file ini kemudian memiliki tautan simbolis ke file terkait di direktori /etc/init.d/. Jika Anda menginginkan layanan tidak dimulai secara default maka Anda dapat mengganti nama / menghapusnya dari direktori /etc/rc?.d dan perubahan Anda akan dipertahankan pada peningkatan paket selama salah satu tautan awal masih muncul di salah satu direktori lainnya (3,4 dan 5). Atau Anda dapat menggunakan perintah update-rc.d untuk mengubah tautan dan jika Anda ingin memulai layanan setelahnya, Anda dapat menggunakan /etc/init.d/service_name start jika Anda membiarkan awal dari akhir itu akan memberi Anda opsi yang dapat digunakan seperti stop, restart, reload ...
Saya pikir Anda dapat menggunakan sysv-rc-conf untuk menonaktifkannya.
sumber
Jika Anda ingin menentukan level run.
Ingatlah untuk mengubah layanan ke nama program.
sumber
Mengapa Anda tidak mencadangkan skrip startup di tempat lain dan menghapusnya di /etc/init.d/? Jika pembaruan-rc.d tidak berfungsi.
sumber