SysV: differenze tra le versioni

nessun oggetto della modifica
Nessun oggetto della modifica
Nessun oggetto della modifica
Riga 1: Riga 1:
{{Versioni compatibili|Debian Etch 4.0<br/>Debian Lenny 5.0<br/>Debian Squeeze 6.0|}}
{{Versioni compatibili|Debian Etch 4.0<br/>Debian Lenny 5.0<br/>Debian Squeeze 6.0|}}
[[Categoria:Sistema]]
[[Categoria:Sistema]]
=SystemV: il boot di Debian=
 
==Struttura==
== Struttura ==
Debian ha scelto, come proprio sistema di boot, il SysV, che si distingue per la propria semplicità e potenza.
Debian ha scelto, come proprio sistema di boot, il SysV, che si distingue per la propria semplicità e potenza.
Infatti, è basata su degli script sensibili a determinate azioni, che vengono linkati a delle directory predefinite (rappresentanti determinati runlevel ovvero livelli o stati a cui si trova la macchina).
Infatti, è basata su degli script sensibili a determinate azioni, che vengono linkati a delle directory predefinite (rappresentanti determinati runlevel ovvero livelli o stati a cui si trova la macchina).


Esaminiamo nel dettaglio la struttura di questo interessante sistema, così da capire meglio cosa avviene esattamente al boot della macchina.
Esaminiamo nel dettaglio la struttura di questo interessante sistema, così da capire meglio cosa avviene esattamente al boot della macchina.
==Gli script di <code>init.d</code>==
== Gli script di <code>init.d</code> ==
Nella directory <code>/etc/init.d</code> sono presenti degli script particolari: il loro compito è quello di gestire i demoni (o servizi, che dir si voglia) quindi di avviarli, fermarli, far rileggere i file di configurazione, controllarne lo stato, nel modo più semplice e comodo.
Nella directory <code>/etc/init.d</code> sono presenti degli script particolari: il loro compito è quello di gestire i demoni (o servizi, che dir si voglia) quindi di avviarli, fermarli, far rileggere i file di configurazione, controllarne lo stato, nel modo più semplice e comodo.
Di default, infatti, sono sempre presenti 3 opzioni:
Di default, infatti, sono sempre presenti 3 opzioni:
Riga 29: Riga 29:
ed il gioco è fatto!!!
ed il gioco è fatto!!!
==I vari <code>rcX.d</code>==
== I vari <code>rcX.d</code> ==
Come accennato nell'introduzione, gli script sono linkati in alcune directory 'speciali', che ora analizzeremo.
Come accennato nell'introduzione, gli script sono linkati in alcune directory 'speciali', che ora analizzeremo.
I nomi di queste directory sono sempre nella forma <code>rcX.d</code>, dove X rappresenta uno stato tra quelli seguenti:
I nomi di queste directory sono sempre nella forma <code>rcX.d</code>, dove X rappresenta uno stato tra quelli seguenti:


==="0" Shutdown===
=== "0" Shutdown ===
Quando la macchina viene messa in questo stato, vengono arrestati tutti i demoni, smontate le periferiche e la macchina viene preparata per lo spegnimento.
Quando la macchina viene messa in questo stato, vengono arrestati tutti i demoni, smontate le periferiche e la macchina viene preparata per lo spegnimento.


==="1" Single User===
=== "1" Single User ===
In questo stato, è consentito l'accesso ad un utente solo, e gran parte dei servizi non vengono avviati; è usato prevalentemente per la manutenzione straordinaria della macchina.
In questo stato, è consentito l'accesso ad un utente solo, e gran parte dei servizi non vengono avviati; è usato prevalentemente per la manutenzione straordinaria della macchina.


==="2-5" Modalità Normali===
=== "2-5" Modalità Normali ===
In Debian non esistono distinzioni tra gli stati 2, 3, 4 e 5 e viene lasciata all'utente la possibilità di modificarli. Di default viene utilizzato il 2.
In Debian non esistono distinzioni tra gli stati 2, 3, 4 e 5 e viene lasciata all'utente la possibilità di modificarli. Di default viene utilizzato il 2.


==="6" Reboot===
=== "6" Reboot ===
Quando la macchina viene portata in questo stato, viene preparata per un riavvio; avvengono tutte le cose indicate per <code>rc0.d</code>, ma viene inviato un segnale di reboot invece che di shutdown.
Quando la macchina viene portata in questo stato, viene preparata per un riavvio; avvengono tutte le cose indicate per <code>rc0.d</code>, ma viene inviato un segnale di reboot invece che di shutdown.


==="S" Boot===
=== "S" Boot ===
Runlevel speciale, che viene eseguito sempre al boot della macchina, prima di passare al runlevel di default (in Debian è il 2).
Runlevel speciale, che viene eseguito sempre al boot della macchina, prima di passare al runlevel di default (in Debian è il 2).


==Configurazione manuale dei runlevel==
== Configurazione manuale dei runlevel ==
===Configurazione del sistema===
=== Configurazione del sistema ===
Il sistema di gestione dei runlevel è configurabile tramite il file <code>'''/etc/inittab'''</code> (è presente una guida a questo file, accessibile tramite il comando <code>man inittab</code>).
Il sistema di gestione dei runlevel è configurabile tramite il file <code>'''/etc/inittab'''</code> (è presente una guida a questo file, accessibile tramite il comando <code>man inittab</code>).


Riga 73: Riga 73:
; <code>comando</code> : il comando da eseguire.
; <code>comando</code> : il comando da eseguire.


====Runlevel di Default====
==== Runlevel di Default ====
<pre>
<pre>
# The default runlevel.
# The default runlevel.
Riga 81: Riga 81:
Per modificarlo è sufficiente modificare il numero racchiuso tra i caratteri '':''.
Per modificarlo è sufficiente modificare il numero racchiuso tra i caratteri '':''.


====Script di inizializzazione del sistema====
==== Script di inizializzazione del sistema ====
<pre>
<pre>
# Boot-time system configuration/initialization script.
# Boot-time system configuration/initialization script.
Riga 92: Riga 92:
Lo script <code>'''/etc/init.d/rcS'''</code> ha la funzione di invocare tutti gli script <code>'''S*'''</code> contenuti in <code>'''/etc/rcS.d/'''</code> in ordine numerico/alfabetico.
Lo script <code>'''/etc/init.d/rcS'''</code> ha la funzione di invocare tutti gli script <code>'''S*'''</code> contenuti in <code>'''/etc/rcS.d/'''</code> in ordine numerico/alfabetico.


====Comportamento in Modalità Singolo Utente====
==== Comportamento in Modalità Singolo Utente ====
<pre>
<pre>
# What to do in single-user mode.
# What to do in single-user mode.
Riga 99: Riga 99:




====Comportamento per ogni Runlevel====
==== Comportamento per ogni Runlevel ====
<pre>
<pre>
# /etc/init.d executes the S and K scripts upon change
# /etc/init.d executes the S and K scripts upon change
Riga 123: Riga 123:
Lo script <code>'''/etc/init.d/rc'''</code> si occupa di lanciare, in ordine numerico/alfabetico, gli script presenti in <code>'''/etc/rcX.d/'''</code>, partendo per quelli <code>'''K*'''</code> per passare a quelli <code>'''S*'''</code>; accetta come parametro il numero del runlevel.
Lo script <code>'''/etc/init.d/rc'''</code> si occupa di lanciare, in ordine numerico/alfabetico, gli script presenti in <code>'''/etc/rcX.d/'''</code>, partendo per quelli <code>'''K*'''</code> per passare a quelli <code>'''S*'''</code>; accetta come parametro il numero del runlevel.


====Pressione di <code>CTRL + ALT + CANC</code>====
==== Pressione di <code>CTRL + ALT + CANC</code> ====
<pre>
<pre>
# What to do when CTRL-ALT-DEL is pressed.
# What to do when CTRL-ALT-DEL is pressed.
Riga 133: Riga 133:
È possibile disattivare questa caratteristica commentando la riga.
È possibile disattivare questa caratteristica commentando la riga.


====Gestione delle Console====
==== Gestione delle Console ====
<pre>
<pre>
# /sbin/getty invocations for the runlevels.
# /sbin/getty invocations for the runlevels.
Riga 167: Riga 167:
Per maggiori informazioni sulla personalizzazione delle console virtuali, <code>''man getty''</code>.
Per maggiori informazioni sulla personalizzazione delle console virtuali, <code>''man getty''</code>.


===Gestione dei runlevel (<code>update-rc.d</code>)===
=== Gestione dei runlevel (<code>update-rc.d</code>) ===
La gestione ''manuale'' dei runlevel (per gestione intendo, ovviamente, la modifica degli script assegnati ad ogni runlevel) è estremamente semplice, soprattutto con l'ausilio di <code>'''update-rc.d'''</code>.
La gestione ''manuale'' dei runlevel (per gestione intendo, ovviamente, la modifica degli script assegnati ad ogni runlevel) è estremamente semplice, soprattutto con l'ausilio di <code>'''update-rc.d'''</code>.


Il suo utilizzo è estremamente semplice.
Il suo utilizzo è estremamente semplice.


====Sintassi====
==== Sintassi ====
La sintassi del comando è suddivisibile in tre varianti:
La sintassi del comando è suddivisibile in tre varianti:


Riga 197: Riga 197:
Vengono riportati alcuni esempi pratici (script <code>''xdm''</code>):
Vengono riportati alcuni esempi pratici (script <code>''xdm''</code>):


====Aggiunta di un link====
==== Aggiunta di un link ====
Link per l'avvio:
Link per l'avvio:
<pre>
<pre>
Riga 212: Riga 212:
</pre>
</pre>


====Rimozione di un link====
==== Rimozione di un link ====
<pre>
<pre>
update-rc.d -f xdm remove
update-rc.d -f xdm remove
</pre>
</pre>


====Aggiunta di link secondo i Valori di Default====
==== Aggiunta di link secondo i Valori di Default ====
Valori di default:
Valori di default:
<pre>
<pre>
Riga 228: Riga 228:
</pre>
</pre>


====Valori di Default====
==== Valori di Default ====
I valori di default utilizzati sono i seguenti:
I valori di default utilizzati sono i seguenti:
* lo script viene lanciato con l'opzione <code>''start''</code> nei runlevel 2, 3, 4 e 5;
* lo script viene lanciato con l'opzione <code>''start''</code> nei runlevel 2, 3, 4 e 5;
Riga 234: Riga 234:
* l'ordine è impostato a 20
* l'ordine è impostato a 20


==Tool per la configurazione dei runlevel==
== Tool per la configurazione dei runlevel ==
===sysv-rc-conf===
=== sysv-rc-conf ===
sysv-rc-conf è una utility basata sulle librerie [[ncurses]] utile per semplificare la gestione dei [[runlevel]] ed avere una panoramica sullo stato di tutti i runlevel.
sysv-rc-conf è una utility basata sulle librerie [[ncurses]] utile per semplificare la gestione dei [[runlevel]] ed avere una panoramica sullo stato di tutti i runlevel.


Riga 249: Riga 249:
[[Immagine:Sysvconfig.png|thumb|center|Screenshot di sysvconfig]]
[[Immagine:Sysvconfig.png|thumb|center|Screenshot di sysvconfig]]


===rcconf===
=== rcconf ===
Rcconf è forse il più semplice programma per la gestione dei demoni che vengono lanciati all'avvio del sistema.
Rcconf è forse il più semplice programma per la gestione dei demoni che vengono lanciati all'avvio del sistema.


Riga 256: Riga 256:
[[Immagine:rcconf.png|thumb|center|Screenshot di rcconf]]
[[Immagine:rcconf.png|thumb|center|Screenshot di rcconf]]


===ksysv===
=== ksysv ===
Un programma di gestione dei runlevel basato sulle librerie QT ed integrato in KDE.
Un programma di gestione dei runlevel basato sulle librerie QT ed integrato in KDE.


Riga 265: Riga 265:
[[Immagine:Ksysv.png|thumb|center|Screenshot di KsysV]]
[[Immagine:Ksysv.png|thumb|center|Screenshot di KsysV]]


==<code>rc.local</code> e <code>rc.local_shutdown</code>==
== <code>rc.local</code> e <code>rc.local_shutdown</code> ==


Alcuni distribuzioni (Slackware per esempio) utilizzano i file <code>/etc/rc.local</code> e <code>/etc/rc.local_shutdown</code> per dare all'amministratore la possibilità di eseguire dei comandi specifici per un certo sistema all'avvio e allo spegnimento della macchina.  
Alcuni distribuzioni (Slackware per esempio) utilizzano i file <code>/etc/rc.local</code> e <code>/etc/rc.local_shutdown</code> per dare all'amministratore la possibilità di eseguire dei comandi specifici per un certo sistema all'avvio e allo spegnimento della macchina.  
1 508

contributi