Menghentikan daemon dari pemuatan saat boot

9

Saya ingin menghentikan beberapa daemon untuk memuat pada saat boot, khususnya squid3. Apa cara terbaik untuk melakukan ini?

nixnotwin
sumber
+1 diucapkan dengan sempurna untuk seseorang yang mencari jawaban untuk pertanyaan ini.
msw

Jawaban:

7

Anda dapat menggunakan utilitas chkconfig untuk tujuan ini.

sudo apt-get install chkconfig

Untuk memeriksa status run level squid Anda dapat menjalankan perintah ini:

 chkconfig --list | grep squid

Ini akan menampilkan sesuatu seperti di bawah ini:

squid           0:off   1:off   2:on    3:on    4:on    5:on    6:off

Untuk mematikan squid di semua level run, Anda dapat menggunakan perintah ini:

sudo chkconfig  squid off

 chkconfig --list | grep squid

squid           0:off   1:off   2:off   3:off   4:off   5:off   6:off

Untuk mematikan squid di level run tertentu Anda dapat menggunakan perintah ini:

 chkconfig  --level 3  squid off
aneeshep
sumber
Kami memiliki 7 level dari (0 - 6). Apa level-level itu? Bisakah Anda jelaskan?
karthick87
@ karthik87: Ini adalah artikel yang bagus tentang level run linux. Ini akan membantu Anda: comptechdoc.org/os/linux/howlinuxworks/linux_hlrunlevels.html
aneeshep
Bagaimana dengan skrip pemula?
Javier Rivera
3

Daemon sistem dapat menggunakan skrip init SysV lama atau pemula yang baru.

Untuk skrip sysv ada beberapa alat manajemen, salah satunya adalah "sysv-rc-conf" dari paket "sysv-rc-conf", instal dan luncurkan dari terminal.

Mengenai Pemula sejauh yang saya tahu belum ada alat manajemen, Anda perlu mengubah nama skrip yang sesuai dari / etc / init, misalnya:

mv /etc/init/ufw.conf /etc/init/ufw.conf.disabled

Squid3 menggunakan skrip init sysv, Anda dapat menonaktifkannya dengan sysv-rc-conf.

João Pinto
sumber
1
Tambahan: Saat memindahkan pekerjaan pemula Anda, Anda tidak bisa lagi memulainya secara manual. Mungkin lebih baik menghapus tanda komentar pada bagian "mulai" pada file .conf.
htorque
2

Squid menggunakan sistem init lama, sehingga perintah ini harus melakukan trik: sudo update-rc.d -f squid3 remove.

Untuk kontrol lebih lanjut mengenai kapan memulai / menghentikan layanan: sudo sysv-rc-conf

Evgeny
sumber
Iklan 1 .: yang juga akan menghapus tautan untuk menghentikan layanan, yang mungkin bukan yang Anda inginkan jika Anda memulainya secara manual.
htorque
Itu salah, Anda selalu dapat memulai / menghentikannya dengan /etc/init.d/squid3 startatau stop.
evgeny
Ini akan menghapus tautan K * yang menghentikan layanan secara otomatis . ;)
htorque
Lagi pula, siapa yang mau itu? ;)
evgeny
Orang-orang malas (ME)! :-P
htorque
1

Dua cara paling sederhana (dari sudut pandang saya).

1) mv /etc/init/squid3.conf /etc/init/squid3.conf.disabled

2) beri komentar pada baris berikut

start on runlevel [2345]

di /etc/init/squid3.conf

permen karet
sumber
Nomor 2 adalah satu-satunya solusi yang berhasil untuk saya. Terima kasih.
Paulo
0

Jawaban di atas tidak berfungsi untuk Ubuntu 16.04 saya.

Inilah yang berhasil:

sudo systemctl stop squid 
update-rc.d squid disable

sudo systemctl status squid 

Meskipun Anda mungkin mendapatkan kesalahan seperti:

insserv: peringatan: runlevel mulai saat ini (kosong) dari script squid menimpa default LSB (2 3 4 5).

insserv: warning: runlevel stop saat ini (0 1 2 3 4 5 6) dari skrip `squid 'menimpa standar LSB (0 1 6). insserv: fopen (.depend.stop): Izin ditolak

Layanan tetap terhenti bahkan setelah reboot.

Jika Anda tahu mengapa kesalahan terjadi dan bagaimana cara memperbaikinya, jangan ragu untuk berkomentar atau mengedit jawabannya.

Tarik
sumber