Modo raccomandato per disabilitare un servizio in Debian


10

Esiste un "modo consigliato" per disabilitare un servizio in Debian? (Disabilita = Il servizio è installato ma non si avvia automaticamente all'avvio della macchina.)

So che puoi update-rc.d -f service remove(che sostanzialmente rimuove i collegamenti in rcX.d), ma facendo questo perdi il numero di sequenza del servizio ( SXXservice, con XX è il numero di sequenza), rendendo la vita più difficile quando vuoi riattivare il servizio. So anche che posso semplicemente rinominare i collegamenti in rcX.dmodo che non inizino S(o spostarli altrove), ma mi chiedevo se esiste un modo "best practice approvato da Debian" per farlo.

Risposte:


12

Dai un'occhiata alla pagina man update-rc.d. Il terzo paragrafo della sezione denominata Installazione di Init Script Link recita ...

Un errore comune di amministrazione del sistema è quello di eliminare i collegamenti pensando che questo "disabiliterà" il servizio, ovvero che ciò impedirà l'avvio del servizio. Tuttavia, se tutti i collegamenti sono stati eliminati al successivo aggiornamento del pacchetto, lo script postinst del pacchetto eseguirà di nuovo update-rc.d e ciò reinstallerà i collegamenti nelle posizioni predefinite di fabbrica. Il modo corretto di disabilitare i servizi è configurare il servizio come interrotto in tutti i runlevel in cui è avviato per impostazione predefinita. Nel sistema init System V questo significa rinominare i collegamenti simbolici del servizio da S a K.

Le ultime due frasi dovrebbero rispondere alla tua domanda. :-)


per esempio:sudo update-rc.d postgresql disable
Lluís,

5

Puoi provare l'utility "sysv-rc-conf" per semplificarti la vita. È più dello strumento chkconfig di altri sistemi.

Basta digitare al prompt:

sudo apt-get install sysv-rc-conf

Saluti!


Ottimo strumento, grazie. Vedo che disabilita correttamente anche i servizi (ovvero rinominando il link simbolico in K ...).
Heinzi,

2

In realtà, sysv-rc-confl'approccio è raccomandato anche dalla pagina man update-rc.d:

Si noti che questo programma è stato progettato per l'uso negli script del manutentore del pacchetto e, di conseguenza, ha solo la funzionalità molto limitata richiesta da tali script. Gli amministratori di sistema non sono incoraggiati a utilizzare update-rc.d per gestire i runlevel. Dovrebbero modificare direttamente i collegamenti o utilizzare invece editor di runlevel come sysv-rc-conf e bum.


0

A quanto ho capito, la "best practice Debian" è disinstallare il pacchetto . Non dovresti avere i pacchetti installati se non li stai usando. Questo è il motivo per cui i pacchetti Debian sono tutti configurati per l'avvio all'installazione.

(Quei pochi pacchetti che potrebbero essere utili da installare senza eseguire di solito hanno un'impostazione nei loro /etc/default/<packagename>file di configurazione per disabilitare l'avvio.)


2
tu fraintendi. "non avviare automaticamente all'avvio" non implica "non usare affatto il pacchetto". come esempio semplicistico, vorrei che il mio server SSH fosse avviato da xinetd secondo necessità, invece di avviarlo come daemon all'avvio.
Quack Quixote
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.