1.4. SysV Init Runlevels

Il sistema di runlevel SysV init fornisce un processo standard per controllare quale software viene avviato o interrotto per un runlevel particolare dal comando init. SysV è stato scelto perché è più semplice da utilizzare e più flessibile del processo tradizionale a stile BSD.

I file di configurazione di SysV init si trovano in /etc/rc.d. In questa directory troverete gli script rc, rc.local, rc.sysinit , e facoltativamente gli script rc.serial e le seguenti directory:

init.d/
rc0.d/
rc1.d/
rc2.d/
rc3.d/
rc4.d/
rc5.d/
rc6.d/

La directory init.d contiene gli script utilizzati dal comando /sbin/init per il controllo dei servizi. Ciascuna delle directory numerate rappresenta i sei runlevel di default configurati per default in Red Hat Enterprise Linux.

1.4.1. Runlevel

I runlevel sono stati, o modi, definiti dai servizi elencati nella directory di SysV /etc/rc.d/rc<x>.d/, dove <x> è il numero del runlevel.

Il concetto dietro i runlevel SysV init si basa sul fatto che possono essere utilizzati sistemi diversi in modi differenti. Per esempio, un server opera in modo più efficiente senza il sovrappeso sulle risorse del computer creato dal sistema X Window. Altre volte, un amministratore del sistema potrebbe avere il bisogno di operare il sistema ad un runlevel minore per effettuare delle operazioni diagnostiche, come risolvere delle corruzioni sul disco in runlevel 1.

Le caratteristiche di ogni runlevel determinano quale servizio è interrotto e quale e` avviato dal comando init. Per esempio, runlevel 1 (modalità utente singolo) interrompe qualunque servizio di rete, mentre il runlevel 3 avvia questi servizi. Assegnando specifici servizi per interruzione o avvio per un particolare runlevel, init si può cambiare subito la modalità del computer senza che l'utente debbia interrompere o avviare i servizi manualmente.

I seguenti runlevel sono definiti per default in Red Hat Enterprise Linux:

  • 0 — arresto

  • 1 — modalità a utente singolo

  • 2 — non utilizzato (definito dall'utente)

  • 3 — modalità multiutente completa

  • 4 — non utilizzato (definito dall'utente)

  • 5 — modalità multiutente completa (con schermata di login basata su X)

  • 6 — riavvio

In generale, gli utenti utilizzano Red Hat Enterprise Linux ad un runlevel 3 o runlevel 5 — entrambe con modalità multiutente. Gli utenti a volta, personalizzano i runlevel 2 e 4 per soddisfare delle esigenze specifiche, poichè non sono utilizzati.

Il runlevel predefinito per il sistema è scritto nel file /etc/inittab. Per scoprire il runlevel predefinito per un sistema, cercate la riga simile a quanto segue all'inizio del file /etc/inittab:

id:5:initdefault:

Il runlevel predefinito nell'esempio di cui sopra, è cinque, come indicato dal numero dopo i primi due punti. Per cambiarlo, modifcate /etc/inittab come root.

AttenzioneAvvertenza
 

State attenti quando modificate il file /etc/inittab. Errori semplici possono causare il sistema a non poter riavviarsi. Se questo succede, usate un dischetto di avvio, immettete la modalità utente singolo, o la madalità rescue al computer e riparate il file.

Per ulteriori informazioni sulla modalità utente-singolo e sulla modalità rescue, consultate il capitolo intitolato Ripristino di base del sistema nella Red Hat Enterprise Linux System Administration Guide.

È possibile cambiare il runlevel di default durante l'avvio del sistema modificando gli argomenti che sono passati dal boot loader al kernel. Per informazioni su come modificare il runlevel durante l'avvio, consultate la Sezione 2.10.

1.4.2. Utility dei Runlevel

Uno dei migliori modi per configurare il runlevel è di utilizzare initscript utility. Questi tool sono disegnati per semplificare la manutenzioneei file nella gerarchia dei directory SysV init e solleva gli amministratori di sistema dall'incombenza di manipolare i numerosi link simbolici nelle directory di /etc/rc.d/.

Red Hat Enterprise Linux fornisce tre di queste utility:

Per ulteriori informazioni su questi tool, consultate il capitolo Controllo dell'accesso ai servizi nella Red Hat Enterprise Linux System Administration Guide.