Cara yang disarankan untuk menonaktifkan layanan di Debian

10

Apakah ada "cara yang disarankan" untuk menonaktifkan layanan di Debian? (Nonaktifkan = Layanan diinstal tetapi tidak akan mulai secara otomatis ketika mesin melakukan booting.)

Saya tahu bahwa Anda dapat update-rc.d -f service remove(yang pada dasarnya menghapus tautan rcX.d), tetapi dengan melakukan ini Anda kehilangan nomor urut layanan ( SXXservice, dengan XX sebagai nomor urut), membuat hidup lebih sulit ketika Anda ingin mengaktifkan kembali layanan. Saya juga tahu bahwa saya bisa mengganti nama tautan rcX.dagar tidak dimulai S(atau memindahkannya ke tempat lain), tetapi saya bertanya-tanya apakah ada beberapa cara "praktik terbaik yang disetujui Debian" untuk melakukan ini.

Heinzi
sumber

Jawaban:

12

Lihat halaman manual update-rc.d. Paragraf ketiga dari bagian yang bernama Memasang Tautan Skrip Init berbunyi ...

Kesalahan administrasi sistem yang umum adalah menghapus tautan dengan anggapan bahwa ini akan "menonaktifkan" layanan, yaitu, bahwa ini akan mencegah layanan dimulai. Namun, jika semua tautan telah dihapus maka pada saat paket ditingkatkan, skrip postinst paket akan menjalankan pembaruan-rc.d lagi dan ini akan menginstal ulang tautan di lokasi default pabrik mereka. Cara yang benar untuk menonaktifkan layanan adalah dengan mengkonfigurasi layanan sebagaimana dihentikan di semua runlevel yang dijalankan secara default. Dalam sistem System V init ini berarti mengganti nama tautan simbolik layanan dari S ke K.

Dua kalimat terakhir harus menjawab pertanyaan Anda. :-)

Menghukum
sumber
misalnya:sudo update-rc.d postgresql disable
Llu
5

Anda dapat mencoba utilitas "sysv-rc-conf" untuk membuat hidup Anda sedikit lebih mudah. Ini lebih merupakan alat chkconfig dari sistem lain.

Ketik saat diminta:

sudo apt-get install sysv-rc-conf

Bersulang!

unixbhaskar
sumber
Alat yang bagus, terima kasih. Saya melihat bahwa itu juga menonaktifkan layanan dengan benar (yaitu dengan mengganti nama symlink ke K ...).
Heinzi
2

Sebenarnya, sysv-rc-confapakah pendekatan ini direkomendasikan bahkan oleh halaman manual update-rc.d:

Harap dicatat bahwa program ini dirancang untuk digunakan dalam skrip pengelola paket dan, karenanya, hanya memiliki fungsionalitas yang sangat terbatas yang diperlukan oleh skrip tersebut. Administrator sistem tidak disarankan untuk menggunakan pembaruan-rc.d untuk mengelola runlevel. Mereka harus mengedit tautan secara langsung atau menggunakan editor runlevel seperti sysv-rc-conf dan sebaliknya.

lubomir.brindza
sumber
0

Seperti yang saya pahami, "Praktik terbaik Debian" adalah menghapus instalasi paket . Anda seharusnya tidak menginstal paket jika Anda tidak menggunakannya. Inilah sebabnya mengapa paket Debian dikonfigurasikan untuk memulai instalasi.

(Beberapa paket yang dapat berguna diinstal tanpa menjalankan biasanya memiliki pengaturan dalam /etc/default/<packagename>file konfigurasi mereka untuk menonaktifkan awal.)

Teddy
sumber
2
kamu salah paham. "tidak memulai secara otomatis saat boot" tidak menyiratkan "tidak menggunakan paket sama sekali". sebagai salah satu contoh sederhana, saya mungkin ingin server SSH saya mulai dengan xinetd sesuai kebutuhan, daripada memulai sebagai daemon saat boot.
quack quixote