Opensuse: gestire i runlevel.

Inittab definisce i runlevel che il sistema linux deve adottare quando è finite il boot, ma che servizi avviare ad ogni runlevel non risulta tra I compiti di questo file.

Tale informazioni sono date dai link simbolici presenti nelle varie directory /etc/ini.d/rcx.d/ che puntano agli script presenti in /etc/init.d/ , al fine di comprendere meglio l’avvio di tali servizi cerchiamo di analizzare:

  • Gli script di init.
  • Il link simbolici ai vari runlevel.
  • Come determianre quali servizi avviare o fermare.
  • Come attivare/disattivare tali servizi per ogni determinato runlevel.

La directory /etc/injt.d contiene gli script dell basj  dei vari task da effettuare dopo l’avvio e eventualmente dei vari  sevizi da avviare o stoppare nel sistema.

Questi script possono essere chiamati direttamente ad esempio all’avvio del sistema, alo spegnimento o durante la pressione di ctrl+alt+canc,  o indirettamente quanto si passa ad esempio da un runlevel all’altro.

Per lanciare un determinate runlevel init chiama in causa lo script  /etc/init.d/rc, con il runlvel come parametro, questo a sua volta legge nella directory /etc/init.d/rcx.d lanciando o stoppando I relative servizi in base ai links enumerati in questa directory.

Ogni runlevel ha la sue subdirectory in /etc/init.d, così avremo per il runlevel 3 /etc/init.d/rc3, /etc/init.d/rc5 per il runlevel 5 e così via.

Osservando I files presenti in ogni subdirectory noteremo che vi sono presenti tue tipologie di file quelle che iniziano con k e quelli che iniziano con s, oguno di questi è sempre seguito da due lettere più il nome del servizio.

Ogni servizio in linux può esere:

Avviato con il parametro start (ad esempio: /etc/init.d/smb start avvia il demone di  samba.)

Fermato con il commando stop

Riavviato con il commando restart, anche se in questo caso prima ferma il servizio poi lo riavvia.

Inittab definisce i runlevel che il sistema linux deve adottare quando è finite il boot, ma che servizi avviare ad ogni runlevel non risulta tra I compiti di questo file.

Tale informazioni sono date dai link simbolici presenti nelle varie directory /etc/ini.d/rcx.d/ che puntano agli script presenti in /etc/init.d/ , al fine di comprendere meglio l’avvio di tali servizi cerchiamo di analizzare:

  • Gli script di init.
  • Il link simbolici ai vari runlevel.
  • Come determianre quali servizi avviare o fermare.
  • Come attivare/disattivare tali servizi per ogni determinato runlevel.

La directory /etc/injt.d contiene gli script dell basj  dei vari task da effettuare dopo l’avvio e eventualmente dei vari  sevizi da avviare o stoppare nel sistema.

Questi script possono essere chiamati direttamente ad esempio all’avvio del sistema, alo spegnimento o durante la pressione di ctrl+alt+canc,  o indirettamente quanto si passa ad esempio da un runlevel all’altro.

Per lanciare un determinate runlevel init chiama in causa lo script  /etc/init.d/rc, con il runlvel come parametro, questo a sua volta legge nella directory /etc/init.d/rcx.d lanciando o stoppando I relative servizi in base ai links enumerati in questa directory.

Ogni runlevel ha la sue subdirectory in /etc/init.d, così avremo per il runlevel 3 /etc/init.d/rc3, /etc/init.d/rc5 per il runlevel 5 e così via.

Osservando I files presenti in ogni subdirectory noteremo che vi sono presenti tue tipologie di file quelle che iniziano con k e quelli che iniziano con s, oguno di questi è sempre seguito da due lettere più il nome del servizio.

Ogni servizio in linux può esere:

Avviato con il parametro start (ad esempio: /etc/init.d/smb start avvia il demone di  samba.)

Fermato con il commando stop

Riavviato con il commando restart, anche se in questo caso prima ferma il servizio poi lo riavvia.

Ricaricato con il commando reload, in questo caso rilegge la configurazione del servizio, ma differenza d restart prima non ferma il servizio.

Visualizzato nel suo stato attuale con il status.

Premesso questo andiamo a spiegare il signifacato dei vari k e s e delle due lettere che li seguono, questi parametri servono a spiegare il comportamento di tali servizi al passaggio da un runlevel all’altro.

Quando cambiamo runlevel init chiama lo script /etc/init.d/rc con il runlevel nuovo come parametro, supponiamo di passare dal runlevel 5 al runlevel 3, in questo caso lo script /etc/init.d/rc leggerà la directory del runlevel corrente (in questa caso 5) e la confronterà con quella del runlevel a cui passare (in questo caso 3).

Lo scenario presente ci ofrre 3 tipi di possibilità

  1. Esiste un link del tipo kxx per un certo servizio nel runlevel 5 ed esiste un link sxx per lo stesso servizio nel runlevel 3, in questo caso passando dal livello 5 a 3 tale servizio non viene ne avviato ne stoppato.
  2. Esiste un link del kxx per un certo servizo nel runlevel 5 ma non esiste un corrispondente sxx nel runlevel 3, in questo caso il servizio nel runlevel 3 viene stoppato.
  3. Esiste un link sxx per un certo servizio nel runlevel 3 ma nessuno corrispondente kxx nel runlevel 5, in questo caso  il servizio viene avviato.

Ancora poco chiaro? Si lo penso anche io.. vediamo di spiegarlo meglio con una tabella ipotizzando l’esempio del link /etc/init.d/kxxnetwork  al passaggio dal runlevel 5 al runlevel 3 con l’eventuale esito di avvio per il servizio network.

Nome link Runlevel 5 Nome link Runlevel 3 Esito
kxxnework Link presente sxxnetwork Link presente Servizio ignorato.
kxxnework Link presente sxxnetwork Link assente Servizio fermato.
sxxnework Link presente kxxnetwork Link resente Servizio avviato.

Rimane adesso da definire il significato delle lettere dopo k o s, indicano semplicemente la priorità dell’esecuzione dei vari servizi, ad esempio k10network sarà eseguito prima di k20cron,il cambio da un runlevel all’altro può essere eseguito dal superuser con il comando init + numero_runlevel.

Per gestire l’avvio dei vari servizi ad ogni runlevel state tranquilli possiamo utilizzare tranquilamente il n/S amato Yast2, digitando da prompt yast2 runlevel oppure dalla gui System->System Service (runlevel), l’interfaccia grafica si propone in due modalità

Simple: dove possiamo abilitare/disabilitare i vari servizi (demons) per il prossimo avvio.

Exert mode: abbiamo il totale controllo dei servizi possiamo scegliere non solo quali abilitare o meno ma anche quali per ogni runlevel, quali fermare o quali ricaricare.

  1. Lascia un commento

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger cliccano Mi Piace per questo: