[indice generale] [precedente] [successivo] [indice analitico] [note introduttive]

204. Configurazione di una distribuzione Slackware

La distribuzione Slackware è quella che utilizza il sistema di configurazione più semplice. Spesso si ha la necessità di modificare direttamente gli script.

204.1 Procedura di inizializzazione del sistema

Si tratta di una serie di script di shell eseguiti direttamente o indirettamente attraverso le indicazioni contenute nel file /etc/inittab. La prima cosa da notare sono i livelli di esecuzione:

0 arresto del sistema;

1 singolo utente;

3 multiutente;

4 multiutente con login grafico;

6 riavvio.

Segue l'elenco dei file e delle directory che compongono la procedura di inizializzazione del sistema.

/etc/rc.d/

È la directory che raccoglie gli script utilizzati nella fase di avvio del sistema e in quella di arresto.

/etc/rc.d/rc.S

È lo script di inizializzazione del sistema. In particolare:

attiva lo scambio della memoria (solo sulle partizioni), in base al contenuto del file /etc/fstab;

avvia update per automatizzare lo scarico periodico della memoria cache dei dischi;

avvia kerneld per automatizzare il caricamento dei moduli del kernel;

verifica che il filesystem principale sia inizialmente in sola lettura;

se il filesystem principale è in sola lettura, ne esegue il controllo;

se vengono incontrati errori, attiva una shell su di una sola console (se si esce dalla shell, si riprende l'esecuzione dello script;

se è il caso, rimonta il filesystem principale in lettura-scrittura;

esegue il montaggio degli altri filesystem in base al contenuto di /etc/fstab, esclusi eventuali filesystem di rete, o NFS, perché la rete viene attivata più avanti;

configura l'orologio del sistema;

crea i file /etc/issue (vedere agetty) e /etc/motd in modo che rispecchino la versione in funzione del kernel Linux;

eventualmente esegue /etc/rc.d/rc.modules per l'attivazione di moduli del kernel;

eventualmente esegue /etc/rc.d/rc.pcmcia per l'attivazione di periferiche connesse attraverso porte PCMCIA;

eventualmente esegue /etc/rc.d/rc.serial per l'attivazione della porta seriale.

Lo script /etc/rc.d/rc.S utilizza a sua volta altri file; quelli elencati di seguito.

/etc/rc.d/rc.modules

Script utilizzato da /etc/rc.d/rc.S per caricare automaticamente i moduli del kernel necessari al proprio sistema.

/etc/rc.d/rc.pcmcia

Script utilizzato da /etc/rc.d/rc.S per l'attivazione delle periferiche connesse attraverso porte PCMCIA.

/etc/rc.d/rc.serial

Script utilizzato da /etc/rc.d/rc.S per l'attivazione delle porte seriali, in caso di utilizzo di terminali connessi con queste.

/etc/rc.d/rc.0 --> /etc/rc.d/rc.6

È lo script che viene eseguito quando si passa a un livello di esecuzione pari a 0 (system halt) o 6 (reboot). Elimina tutti i processi in esecuzione, esegue lo smontaggio di tutti i dischi e quindi ferma il sistema o lo riavvia a seconda che si tratti del livello di esecuzione 0 o 6.

/etc/rc.d/rc.K

È lo script che viene eseguito quando si passa a un livello di esecuzione pari a 1: singolo utente, ovvero, livello amministrativo. Elimina tutti i processi dei demoni (la lettera K sta per Kill) e mette il sistema in modalità monoutente. Di conseguenza, non viene eseguito alcun distacco di dischi.

/etc/rc.d/rc.M

È lo script che viene eseguito quando si passa a un livello di esecuzione da 2 a 5: multi utente. Fondamentalmente si occupa di eseguire altri script per il montaggio di dischi aggiuntivi, per l'attivazione della rete,... In particolare:

avvia setterm in modo da definire l'oscuramento dello schermo dopo alcuni minuti di inattività;

esegue /etc/rc.d/rc.cdrom per il montaggio del CD-ROM;

se manca il file /etc/HOSTNAME, lo crea, inserendovi un nome di dominio corrispondente a quello predefinito per la distribuzione;

assegna il nome all'elaboratore in base al contenuto di /etc/HOSTNAME;

esegue /etc/rc.d/rc.inet1 e /etc/rc.d/rc.inet2 per l'attivazione della rete;

avvia /usr/sbin/crond;

elimina i file di lock;

risistema i permessi delle directory più importanti;

esegue ldconfig in modo da aggiornare il file /etc/ld.so.cache con i collegamenti corretti alle librerie installate;

avvia il server SMTP per la gestione della posta;

esegue eventualmente /etc/rc.d/rc.font per la gestione dei caratteri del video;

esegue eventualmente /etc/rc.d/rc.ibcs2 per l'emulazione iBCS (Intel Binary Compatibility Specification);

esegue /etc/rc.d/rc.keymap per cambiare la configurazione della tastiera in base alla nazionalità;

esegue eventualmente /etc/rc.d/rc.httpd per l'avvio del server HTTP;

esegue /etc/rc.d/rc.local che è in pratica lo script finale lasciato alla configurazione personale; di solito contiene già l'attivazione del programma gpm in background, per la gestione del mouse.

Lo script /etc/rc.d/rc.M utilizza a sua volta altri file, elencati di seguito.

/etc/rc.d/rc.cdrom

Script utilizzato da /etc/rc.d/rc.M per eseguire automaticamente il montaggio del CD-ROM. Può creare più problemi che benefici. Al massimo è necessario quando si utilizza un filesystem /usr da CD-ROM.

/etc/rc.d/rc.inet1

Permette di definire le caratteristiche della connessione in rete, oltre ad attivare le interfacce e definire gli instradamenti. Occorre modificare questo script per cambiare la configurazione di rete.

/etc/rc.d/rc.inet2

Attiva tutti i servizi di rete. Può essere modificato per eliminare o aggiungere servizi.

/etc/rc.d/rc.local

È lo script che viene eseguito per ultimo e può essere modificato per qualunque scopo, legato alla personalizzazione del proprio sistema.

/etc/rc.d/rc.4

È lo script che viene eseguito quando si passa a un livello di esecuzione pari a 4: avvia xdm in modo da ottenere un login grafico all'interno di X.

/etc/rc.d/rc.n

Volendo definire delle modalità di funzionamento differenti da quelle predefiniti, si può creare un file rc a partire da rc.M o rc.4 e abbinandolo a un livello di esecuzione non utilizzato (2 o 5) all'interno del file /etc/inittab.

204.2 Configurazione della rete

La distribuzione Slackware non utilizza file di configurazione per definire l'impostazione della rete. Questo obbliga praticamente alla modifica diretta degli script che si occupano di definire gli indirizzi, gli instradamenti e l'attivazione dei servizi. Si tratta di /etc/rc.d/rc.inet1 e /etc/rc.d/rc.inet2.

Per la configurazione della rete viene fornito lo script netconfig che crea ogni volta un nuovo file /etc/rc.d/rc.inet1. Questo però può andare bene solo per le situazioni normali, quando si ha una sola interfaccia di rete e un solo router. Se si decide di modificare direttamente il file /etc/rc.d/rc.inet1, è meglio fare sparire netconfig.

Il file /etc/HOSTNAME serve a contenere il nome dell'elaboratore (nome di dominio completo) in modo da poter definire questo nome per mezzo di hostname durante la fase di inizializzazione del sistema. Naturalmente, un elaboratore può avere più nomi, tanti quante sono le interfacce di rete: se ne deve scegliere uno solo.

204.3 Configurazione di shell

Questa distribuzione fornisce solo i file di configurazione principali per le shell che permette di installare; non sono previste impostazioni predefinite per gli utenti.

Per quanto riguarda la shell Bourne e quelle derivate, è disponibile il file /etc/profile un po' complicato a causa della necessità, in certi casi, di determinare il tipo di shell utilizzato effettivamente per stabilire l'azione corretta.

204.4 Utenti

Utenti e gruppi vengono gestiti nel modo tradizionale, per cui la maschera dei permessi utilizzata normalmente è 022.

Per quanto riguarda l'utente e il gruppo nobody, è il caso di osservare che 65534 e -2 sono la stessa cosa.

Lo script adduser inserisce gli utenti a partire dal numero 500 in poi.

204.4.1 /etc/passwd

halt:x:7:0:halt:/sbin:/sbin/halt
operator:x:11:0:operator:/root:/bin/bash
root:x:0:0::/root:/bin/bash
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
sync:x:5:0:sync:/sbin:/bin/sync
bin:x:1:1:bin:/bin:
ftp:x:404:1::/home/ftp:/bin/bash
daemon:x:2:2:daemon:/sbin:
adm:x:3:4:adm:/var/adm:
lp:x:4:7:lp:/var/spool/lpd:
mail:x:8:12:mail:/var/mail:
postmaster:x:14:12:postmaster:/var/mail:/bin/bash
news:x:9:13:news:/usr/lib/news:
uucp:x:10:14:uucp:/var/spool/uucppublic:
man:x:13:15:man:/usr/man:
games:x:12:100:games:/usr/games:
guest:x:405:100:guest:/dev/null:/dev/null
nobody:x:65534:100:nobody:/dev/null:

204.4.2 /etc/group

root::0:root
bin::1:root,bin,daemon
daemon::2:root,bin,daemon
sys::3:root,bin,adm
adm::4:root,adm,daemon
tty::5:
disk::6:root,adm
lp::7:lp
mem::8:
kmem::9:
wheel::10:root
floppy::11:root
mail::12:mail
news::13:news
uucp::14:uucp
man::15:man
users::100:games
nogroup::-2:

---------------------------

Appunti Linux 1999.07.12 --- Copyright © 1997-1999 Daniele Giacomini --  daniele @ evo.it

[indice generale] [precedente] [successivo] [indice analitico] [note introduttive]