11.07.2015 Views

Amministrare GNU/Linux - Cia

Amministrare GNU/Linux - Cia

Amministrare GNU/Linux - Cia

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

5.3. LA GESTIONE DELL’AVVIO DEL SISTEMA 213Due degli errori più comuni, che comportano l’impossibilità di proseguire nella procedura diavvio, sono proprio quelli relativi alll’impossibilità di montare la radice (ad esempio perché ci si èdimenticati di inserire nel kernel il supporto per accedere al dispositivo su cui essa si trova o quelloper il suo filesystem) o all’impossibilità di lanciare init (ad esempio perché si è danneggiato ilprogramma, o qualche libreria, o si è indicato come radice una partizione sbagliata).Una volta lanciato init il kernel non esegue più direttamente nessun altro compito, tutto ilresto viene effettuato attraverso gli opportuni programmi invocati da init. È a questo puntoche emerge una delle principali differenze fra i vari sistemi che si ispirano a Unix. Essa originadalla divisione che ci fu negli anni ’70, fra la versione sviluppata alla AT/T, che poi diventeràSysV, e quella sviluppata a Berkley, che darà origine alla famiglia dei BSD. Una delle differenzeprincipali fra i due sistemi è quello del procedimento di avvio.La differenza non è tanto nel meccanismo di funzionamento del sistema, dato si che trattasempre di lanciare gli opportuni programmi, quando nella modalità in cui questi vengono avviati.Nei sistemi derivati da BSD questo viene fatto attraverso l’esecuzione di alcuni script. Attivareo meno un servizio dipende dall’inserimento o meno (al posto “giusto”) delle opportune righedi avvio all’interno di essi. Nel caso di <strong>Linux</strong> solo una distribuzione, la Slackware, ha adottatoquesta modalità, tutte le altre han preferito, per la sua maggiore flessibilità, lo stile di avvio diSysV.I sistemi derivati da SysV usano un sistema più complesso, ma che offre maggiore funzionalitàe soprattutto è più “modulare”. La gran parte delle distribuzioni di <strong>GNU</strong>/<strong>Linux</strong> 61 ha adottatoquesto sistema.L’avvio “alla SysV ” avviene sulla base dei cosiddetti runlevel, una sorta di modalità operativedel sistema in cui vengono lanciati un particolare insieme di programmi, che garantiscono lapresenza di un certo gruppo di servizi. È possibile selezionare sia quali programmi (ed in cheordine) lanciare in ciascun runlevel, sia quale runlevel utilizzare. Inoltre è possibile passare daun runlevel all’altro. È compito di init portare il sistema in un certo runlevel, secondo quantospecificato nel suo file di configurazione, /etc/inittab.I runlevel validi sono 7, numerati da 0 a 6, normalmente il runlevel 0 è usato per fermare ilsistema, mentre il runlevel 6 per riavviarlo; il runlevel 1 serve per andare nel cosiddetto singleuser mode, la modalità di recupero in cui può entrare nel sistema solo l’amministratore e solodalla console, con tutti i servizi disattivati e la directory radice montata in sola lettura.Per gli altri runlevel le caratteristiche possono variare da distribuzione a distribuzione (cono senza servizi di rete, avvio terminante con il login direttamente da X, etc.). Per Debian da2 a 5 sono tutti equivalenti, RedHat usa il 2 per l’avvio in console senza rete, 3 per l’avvio inconsole con la rete e 5 per l’avvio in modalità grafica.Tutto il procedimento di avvio eseguito viene controllato da /etc/inittab. Il formato diquesto file è molto semplice, come al solito le linee vuote o che iniziano per # vengono ignorate,le altre prevedono quattro campi separati dal carattere “:”, nella forma:id:runlevels:action:processdove il campo id deve essere una sequenza unica di 1-4 caratteri che identifica la linea (ed incerti casi delle azioni speciali), il campo runlevel la lista dei runlevel (espressa coi numeri di cuisopra) cui si applica l’azione specificata dalla parola chiave del campo action mentre il campoprocess indica il programma che deve essere lanciato (e relative opzioni ed argomenti).I principali valori utilizzabili per il campo action sono riportati in tab. 5.12, i dettagli el’elenco completo si trovano al solito nella pagina di manuale accessibile con man inittab. Unesempio di questo file è il seguente:61 <strong>GNU</strong>/<strong>Linux</strong> è stato sviluppato da zero, per cui non deriva da nessuna delle due famiglie di Unix, per questoin genere si è cercato di prendere il meglio da entrambe.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!