La voce di menù ``Partizionamento disco fisso'' vi presenta un elenco dei dischi che potete partizionare e lancia un applicativo per effettuare il partizionamento. Dovrete creare come minimo una partizione Linux nativa (tipo 83), probabilmente avrete bisogno anche di una partizione Linux di swap (tipo 82).
Come minimo, GNU/Linux ha bisogno di una partizione per sé. Potete usare una singola partizione per ospitare l'intero sistema operativo, le applicazioni e i vostri file personali. Molti pensano che sia necessaria anche una partizione di swap separata, sebbene ciò non sia propriamente vero. Lo "swap" permette al sistema operativo di usare la memoria a basso costo dei dischi fissi come "memoria virtuale". Collocando lo swap in una partizione separata, Linux può farne un uso molto più efficiente. È possibile, ma non raccomandato, forzare Linux a usare come swap un normale file.
La maggior parte delle volte comunque si sceglie di utilizzare per GNU/Linux un numero di partizioni maggiore di quello minimo necessario. Ci sono due ragioni per cui potreste voler suddividere il file system in un certo numero di partizioni più piccole. La prima è la sicurezza. Usando tale precauzione, in caso succeda qualcosa e il file system si corrompa nella maggior parte dei casi verrà colpita una sola partizione. Sarà quindi necessario rimpiazzare solo una parte del vostro sistema (dai backup che mantenete con cura, si spera). Come minimo dovrete tenere presente di creare quella che viene comunemente chiamata "partizione root". Essa contiene i componenti davvero essenziali del sistema. In caso venga corrotta qualunque altra partizione, grazie ad essa sarete ancora in grado di fare il boot in GNU/Linux per mettere a posto le cose, evitando di dover reinstallare il sistema da zero.
La seconda ragione di solito è rilevante più che altro in ambito aziendale, ma
in realtà dipende dall'uso che fate della macchina. Supponete che qualcosa
vada fuori controllo e inizi a consumare spazio sul disco. Se il processo
all'origine del problema ha privilegi di root (il sistema mantiene una
percentuale del disco al di fuori del controllo degli utenti comuni), potreste
ritrovarvi con gravi carenze di spazio disco, cosa molto pericolosa, dato che
il S.O. usa file reali (oltre allo spazio swap) per un sacco di cose. In
alcuni casi potrebbe anche non trattarsi di un problema di origine locale, ad
esempio potreste venir bersagliati da una grande quantità di spam che potrebbe
andare a riempire una partizione. Utilizzando più di una partizione
proteggerete quindi il sistema da molti problemi di questo tipo. Usando ancora
una volta l'esempio della posta, mettendo /var/mail
in una
partizione a sé stante, il grosso del sistema continuerebbe a funzionare anche
dopo aver ricevuto un'enorme quantità di spam.
L'unico vero inconveniente nell'usare più partizioni è che spesso è difficile sapere in anticipo quali saranno le proprie necessità. Se fate una partizione troppo piccola, allora dovrete reinstallare il sistema, oppure vi toccherà spostare di continuo dei file per liberarvi spazio. D'altra parte, se fate una partizione troppo grande sprecherete spazio che potrebbe essere usato meglio per altre cose. Lo spazio su disco costa ormai molto poco, ma è sempre un peccato sprecarlo.
Linux Debian aderisce al Filesystem Hierarchy Standard
per la denominazione di directory e file. Tale standard permette agli utenti e
ai programmi di conoscere in anticipo la collocazione di file e directory. La
directory a livello radice è rappresentata semplicemente con /
. A
livello radice, tutti i sistemi Debian includono le seguenti directory:
bin comandi binari indispensabili boot file statici per il boot loader dev file di device etc configurazione particolare del sistema home directory personali degli utenti lib librerie condivise essenziali e moduli del kernel mnt mount point per montare temporaneamente un file system proc directory virtuale per informazioni sul sistema root directory personale dell'utente root sbin binari di sistema essenziali tmp file temporanei usr gerarchia secondaria var dati variabili
Segue una lista di considerazioni importanti su directory e partizioni.
/
deve sempre contenere fisicamente
/etc
, /bin
, /sbin
, /lib
e
/dev
, altrimenti non sarete in grado di avviare il sistema.
Tipicamente sono necessari 100 MB per la partizione root, ma questo valore può
variare.
/usr
: in questa directory risiedono tutti i programmi utente
(/usr/bin
) e le relative librerie (/usr/lib
),
documentazione (/usr/share/doc
), ecc. Questa parte del file
system ha bisogno della maggior parte dello spazio necessario. Dovreste
assegnarle almeno 500 MB, ma se pensate di installare molti pacchetti dovreste
dargliene di più.
/home
: i singoli utenti metteranno i propri dati in una
sottodirectory di questa directory. La dimensione da assegnarle dipende quindi
da quanti utenti utilizzeranno il sistema e da quanti file verranno memorizzati
nelle loro directory personali. A seconda dell'uso che intendete fare del
sistema, dovreste riservare circa 100 MB per ciascun utente, ma adattate pure
questo valore alle vostre necessità.
/var
: tutti i dati variabili, come le news, le email, i siti web,
la cache di APT ecc. verranno posti in questa directory. La sua dimensione
dipende molto dell'uso dell'elaboratore, ma nella maggior parte dei casi il
fattore da tenere in considerazione sarà il carico di lavoro del programma di
gestione dei pacchetti. Se avete intenzione di fare un'installazione completa
di tutto ciò che Debian ha da offrire, il tutto in una singola sessione, vi
dovrebbero essere sufficienti 2-3 GB di spazio per /var
. Se
farete un pezzo per volta (per dire, installando prima i servizi e le utility,
poi X, ...), dovrebbero bastarvi 300-500 MB. Se lo spazio disco vi è prezioso
e non pensate di usare APT, o almeno non per gli aggiornamenti principali, per
cavarvela potrebbero bastarvi 30-40 MB in /var
.
/tmp
: se un programma crea dati temporanei, molto probabilmente li
metterà in /tmp
. Dovrebbero bastare 20-50 MB.
I BIOS dei PC pongono in genere delle limitazioni aggiuntive sul
partizionamento dei dischi: c'è un limite alle partizioni primarie e logiche
che un disco può contenere. Inoltre coi BIOS precedenti al 1994-98 ci sono dei
limiti alle posizioni del disco da cui si può fare il boot. Potete trovare
ulteriori informazioni nel Linux Partition
HOWTO
e nelle Phoenix BIOS
FAQ
, questa sezione includerà una breve panoramica per aiutarvi ad
affrontare la maggior parte delle situazioni.
Le partizioni primarie costituiscono lo schema di partizionamento originale per i dischi dei PC, ma ce ne possono essere solo quattro per disco. Per superare questa limitazione sono state inventate le partizioni estese e logiche. Impostando una delle partizioni primarie come estesa potrete suddividere lo spazio allocato per questa partizione in partizioni logiche. In questo modo potrete creare fino a 60 partizioni logiche in una partizione estesa, che dev'essere una sola per disco.
Linux limita il numero di partizioni per disco a 15 per i dischi SCSI (3 partizioni primarie e 12 logiche), 63 pei dischi IDE (3 partizioni primarie utilizzabili e 60 logiche).
Se avete un disco IDE di grandi dimensioni e non state usando né LBA né driver aggiuntivi (che a volte vengono forniti dal produttore), allora la partizione di boot, quella contenente l'immagine del vostro kernel, deve trovarsi entro i primi 1024 cilindri del vostro disco. Di solito corrispondono circa ai primi 524 MB senza la traduzione del BIOS.
Questa restrizione non si applica se avete un BIOS posteriore al 1995-98 (a
seconda del produttore) che supporta le estensioni di accesso ai dischi di
grandi dimensioni ("Enhanced Disk Drive Support Specification"). Sia
lilo
, il boot loader di Linux, che l'alternativa Debian,
mbr
, sono costretti a usare il BIOS per caricare il kernel dal
disco fisso nella RAM. Il boot loader utilizzerà, ove presenti sul sistema, le
estensioni di accesso ai dischi di grandi dimensioni (che usano l'interrupt
BIOS 0x13). Altrimenti ripiegherà sulla vecchia interfaccia di accesso al
disco e non potrà quindi accedere a qualsiasi locazione che si trovi oltre il
1023esimo cilindro del disco. Una volta avviato Linux, non importa quale BIOS
abbia il vostro elaboratore, queste restrizioni non si applicano più, dato che
Linux non usa i servizi del BIOS per accedere al disco.
Se avete un disco di grandi dimensioni, potreste dover usare le tecniche di
traduzione dei cilindri, che potete impostare dal programma di configurazione
del BIOS, come ad esempio LBA (Logical Block Addressing) o la modalità di
traduzione CHS ("Large"). Altre informazioni sui problemi che si
possono avere con i dischi di grandi dimensioni sono riportate nel Large Disk
HOWTO
(in italiano Large Disk
HOWTO
NdT). Se state usando uno schema di traduzione dei cilindri e
il BIOS non supporta le estensioni di accesso, dovrete creare una partizione di
boot che stia tutta entro la rappresentazione tradotta del 1024esimo
cilindro.
Il modo consigliato di farlo è creare una piccola partizione (5-10 MB
dovrebbero essere sufficienti) all'inizio del disco da usare come partizione di
boot e poi creare qualsiasi altra partizione nello spazio restante. Tale
partizione di boot dovrà essere montata sotto /boot
, che è la
directory dove vengono conservati il, oppure i, kernel Linux. Questa
configurazione funzionerà su qualunque sistema, indipendentemente dall'uso di
LBA o della traduzione CHS e dal supporto per le estensioni di accesso ai
dischi di grandi dimensioni fornito dal BIOS.
Per nuovi utenti di Debian, macchine personali, sistemi domestici e altre
configurazioni monoutente, una singola partizione /
(più quella di
swap) è probabilmente la cosa migliore e più semplice. Nondimeno in tal modo
potreste avere dei problemi con dischi molto grandi (da 20 GB in su). Sulla
base di limitazioni nel funzionamento di ext2, farete meglio ad evitare
partizioni singole più grandi di 6 GB.
Per sistemi multiutente, la cosa migliore è porre /usr
,
/var
, /tmp
e /home
in partizioni
separate tra di loro, a loro volta separandole dalla partizione /
.
Se pensate di installare molti programmi che non fanno parte della
distribuzione Debian, potreste aver bisogno di una partizione
/usr/local
separata. Se la vostra macchina farà da server di
posta, potreste aver bisogno di tenere /var/mail
su una partizione
autonoma. È spesso una buona idea porre /tmp
in una
partizione riservata, di 20-50 MB per dire. Se state configurando un server
con un sacco di account utenti, sarebbe auspicabile avere una partizione
/home
autonoma e di dimensioni generose. In generale, lo schema
di partizionamento ottimale varia a seconda della destinazione d'uso della
macchina.
Per sistemi molto complessi, fareste bene a consultare il Multi Disk
HOWTO
(in italiano Multi Disk
HOWTO
NdT). Contiene informazioni approfondite, che potrebbero
risultare interessanti per provider e amministratori di server.
Riguardo la questione della dimensione appropriata per la partizione di swap, ci sono molti punti di vista. Una regola empirica di successo è usare uno spazio di swap pari alla memoria del sistema. Nella maggior parte dei casi non dovrebbe essere comunque minore di 16 MB. Naturalmente vi sono delle eccezioni. Se state tentando di risolvere un sistema di 10000 equazioni su una macchina con 256 MB di memoria, potreste aver bisogno di 1 GB (o più) di swap.
Sulle architetture a 32 bit (i386, m68k, SPARC 32 bit e PowerPC), la dimensione massima di una partizione di swap è 2 GB. Per Alpha e SPARC64 il limite è talmente grande da essere virtualmente inesistente. Dovrebbe essere sufficiente per quasi tutte le installazioni. In ogni caso, se vi dovesse servire così tanto swap dovreste probabilmente tentare di suddividerlo su dischi diversi (chiamati anche "spindle") e, ove possibile, su canali SCSI o IDE distinti. Il kernel bilancerà l'utilizzo dello swap tra le partizioni di swap multiple, garantendo prestazioni migliori.
Come esempio concreto, la macchina che uno degli autori utilizza a casa ha 32
MB di RAM e un disco IDE di 1,7 GB su /dev/hda
. C'è inoltre una
partizione da 500 MB riservata ad un altro sistema operativo su
/dev/hda1
(dovrebbe venir ridotta a 200 MB, dato che non viene mai
usata). Su /dev/hda3
c'è una partizione di swap di 32 MB, mentre
il resto (circa 1,2 GB su /dev/hda2
) è la partizione Linux.
Per ulteriori esempi, leggete Partitioning
Strategies
.
I nomi dati da Linux a dischi e partizioni possono essere diversi da quelli usati da altri sistemi operativi. Avete bisogno di conoscere i nomi usati da Linux quando create e montate partizioni. Ecco lo schema di denominazione di base:
Le partizioni presenti su ciascun disco vengono indicate aggiungendo un numero decimale al nome del disco: "sda1" e "sda2" rappresentano le prime due partizioni del primo disco SCSI del sistema.
Ecco un esempio realistico: supponiamo che abbiate un sistema con due dischi SCSI, uno all'indirizzo 2 e l'altro al 4. Il primo disco (quello all'indirizzo 2) si chiamerà "sda", il secondo "sdb". Se il disco "sda" ospita tre partizioni, si chiameranno "sda1", "sda2" e "sda3". Lo stesso vale per il disco "sdb" e le sue partizioni.
Tenete presente che se nel sistema ci sono due host bus adapter SCSI (cioè due controller) l'ordine dei dischi può diventare confuso. La soluzione migliore in tal caso è controllare i messaggi di boot, supposto che conosciate il modello o le capacità dei dischi.
Linux rappresenta le partizioni primarie con il nome del disco seguito da un
numero da 1 a 4. Per esempio, la prima partizione primaria sul primo disco IDE
è /dev/hda1
. Le partizioni logiche sono numerate a partire da 5,
quindi la prima partizione logica sullo stesso disco è /dev/hda5
.
Ricordatevi che la partizione estesa, cioè la partizione primaria che contiene
quelle logiche, non è utilizzabile di per sé, né sui dischi SCSI né sugli IDE.
Gli sviluppatori Debian hanno adattato una moltitudine di programmi di partizionamento diversi affinché funzionino sui vari tipi di dischi fissi ed architetture. Segue un'elenco dei programmi utilizzabili sulla vostra architettura.
fdisk
pagina di manuale di fdisk
.
Se sulla vostra macchina ci sono già partizioni FreeBSD, fate molta attenzione.
I kernel dell'installazione le supportano, ma il modo in cui fdisk
(non) le rappresenta può causare differenze nei nomi di device. Consultate il
Linux+FreeBSD
HOWTO
.
cfdisk
pagina di manuale di
cfdisk
.
Tenete presente che cfdisk
è del tutto incapace di lavorare con le
partizioni FreeBSD e quindi, ancora una volta, cio potrebbe causare delle
differenze nei nomi di device.
Uno di questi programmi verrà lanciato per default quando selezionerete
``Partizionamento disco fisso''. Se non è quello che volete voi, chiudete il
programma di partizionamento, passate alla shell sulla seconda console virtuale
(tty2) e lanciate manualmente il nome del programma che preferite usare (con
eventuali argomenti, ove necessari). Poi saltate il passo ``Partizionamento
disco fisso'' in dbootstrap
e continuate dal passo successivo.
Ricordatevi di marcare la vostra partizione di boot come avviabile ("Bootable").
Sarà questo il passo successivo alla creazione delle partizioni. Potrete scegliere di inizializzare ed attivare una nuova partizione di swap, attivarne una già inizializzata o fare a meno di una partizione di swap. È sempre possibile reinizializzare una partizione di swap, quindi selezionate ``Inizializzazione ed attivazione partizione di swap'', a meno che non siate sicuri di quello che state facendo.
Scegliendo questa voce di menù vi verrà presentata innanzitutto una finestra di dialogo ``Selezionare la partizione da attivare come swap.''. Per default vi dovrebbe venir proposta la partizione di swap che avete già impostato; in tal caso basterà premere Invio.
Vi sarà richiesta una conferma, dato che l'inizializzazione distruggerà eventuali dati contenuti nella partizione. Se è tutto a posto, scegliete ``Sì''. Lo schermo lampeggerà mentre il programma di inizializzazione lavora.
Vi raccomandiamo caldamente di predisporre una partizione di swap, ma se insistete potete farne a meno, basta che abbiate più di 12MB di RAM. Se volete farne a meno, selezionate la voce ``Continuare senza partizione di swap?'' dal menù.
A questo punto la prossima voce del menù dovrebbe essere ``Inizializzazione di una partizione Linux''. Se non è così, è perché non avete completato il processo di partizionamento del disco o non avete scelto una delle voci di menù relative alla partizione di swap.
Potete inizializzare una partizione Linux o, in alternativa, montare una già
inizializzata in precedenza. Tenete presente che dbootstrap
non può aggiornare un vecchio sistema senza distruggerlo. Se state
facendo un aggiornamento, non avete bisogno di usare dbootstrap
,
dato che Debian può farlo da sé con altri mezzi. Per informazioni su come
aggiornare il sistema a Debian 3.0, leggete le Istruzioni per
l'aggiornamento
.
Quindi, se state usando delle vecchie partizioni che non sono vuote e volete sbarazzarvi del loro contenuto, vi conviene inizializzarle, cancellando in tal modo tutti i file. Inoltre dovrete inizializzare tutte le partizioni che avete creato durante il partizionamento. La sola ragione per montare una partizione senza inizializzarla a questo punto è che si tratti di una partizione sulla quale avete già svolto alcune parti del processo di installazione usando la stessa serie di dischetti.
Scegliete ``Inizializzazione di una partizione Linux'' per inizializzare e
montare la partizione /
. La prima partizione che monterete o
inizializzerete sarà quella montata come /
(si pronuncia
"slash", è la partizione root, o "radice").
Vi verrà chiesto se preservare la ``Compatibilità con i kernel precedenti al 2.2?''. Se rispondete ``No'' non potrete usare i kernel 2.0 o precedenti, dato che il file system abiliterà alcune caratteristiche non supportate da tali kernel. Se siete sicuri che non avrete mai bisogno di utilizzare un kernel 2.0 o precedente, rispondete ``No'', in modo da godere di qualche beneficio, seppur minimo.
Vi verrà chiesto inoltre se ricercare i blocchi danneggiati. Per default viene proposto di saltare la ricerca, perché prende molto tempo e i controller moderni sono comunque in grado di rilevare internamente i blocchi danneggiati e fronteggiare eventuali problemi con essi. Se non siete sicuri della qualità dei vostri dischi o se avete un sistema vecchio, potrebbe essere il caso di avviare la ricerca.
I prompt successivi sono solo richieste di conferma delle vostre azioni,
doverose, dato che l'inizializzazione distruggerà tutti i dati della
partizione. Vi s'informerà inoltre che la partizione verrà montata come
/
, la partizione root. [4]
Una volta montata la partizione /
, se desiderate inizializzare e
montare altri file system potete usare la voce ``Altro'', che tornerà utile a
chi ha creato partizioni separate per /boot
, /var
,
/usr
o altre, che dovrebbero essere inizializzate e montate a
questo stadio dell'installazione.
Un'alternativa a ``Inizializzazione di una partizione Linux'', Sezione 6.8 è il passo ``Mount di una partizione già inizializzata'', da usare se state riprendendo un'installazione lasciata a metà o se volete montare delle partizioni già inizializzate o che contengono dati che volete salvaguardare.
Se state installando una workstation senza disco, giunti a questo punto dovreste montare via NFS la partizione root dal server NFS remoto. Specificate il percorso per il server con la normale sintassi NFS, cioè nome-o-IP-del-server:percorso-della-share-sul-server. Se dovete inoltre montare altri file system, potete farlo adesso.
Se non avete ancora configurato la rete come indicato in ``Configurazione della rete'', Sezione 7.7, scegliendo l'installazione via NFS vi verrà chiesto di farlo.
dbootstrap
In alcune situazioni particolari, dbootstrap
potrebbe non essere
in grado di montare i file system che volete (la partizione root o altre). Se
siete utenti Linux esperti potrete semplicemente passare a tty2 e lanciare
manualmente i comandi necessari a montare le partizioni in questione.
Se state montando una partizione root per il vostro nuovo sistema, fatelo su
/target
, poi tornate a dbootstrap e continuate, magari usando
``Visualizzazione stato delle partizioni'' per far sì che
dbootstrap
ricalcoli il punto dell'installazione in cui vi
trovate.
Se si tratta di partizioni diverse da quelle di root, dovrete ricordarvi di
modificare a mano il vostro nuovo file fstab
, in modo che vengano
montate al riavvio del sistema. Aspettate ovviamente che
dbootstrap
scriva tale file (/target/etc/fstab
) prima
di ritoccarlo.
Installazione di Debian GNU/Linux 3.0 per Intel x86
versione 3.0.22, 14 March, 2002eugenia@linuxcare.com
frick@linux.it