Quest'appendice non viene necessariamente applicata alle architetture che non sono basate su x86. Tuttavia il concetto generale potrebbe essere valido.
A.1. Concetti di base sui dischi fissi
I dischi fissi svolgono una funzione molto semplice: possono archiviare dati e recuperarli a comando.
Quando si affrontano le problematiche relative al partizionamento del disco, è importante avere una conoscenza generale dell'hardware. Sfortunatamente è facile perdersi in dettagli, per questo motivo questa appendice utilizza un diagramma semplificato di una unità disco, e consente di capire il processo di partizionamento dell'unità disco stessa.
Figura A.1, «Unità disco mai utilizzata» mostra una unità disco nuova non ancora utilizzata.
Non c'è molto da vedere, vero? Ma se parliamo di dischi fissi a livello base, la questione cambia. Supponiamo di voler archiviare alcuni dati su questa unità. In questo momento non è possibile. Dobbiamo prima compiere alcune operazioni.
A.1.1. Non conta ciò che si scrive, ma come lo si scrive
Gli utenti più esperti probabilmente hanno già familiarità con queste operazioni. Occorre formattare l'unità. Con la formattazione (in genere definita "creazione di un filesystem") verranno scritte delle informazioni sul disco creando un pò di ordine sfruttando lo spazio vuoto di un disco non formattato.
Una piccola percentuale dello spazio libero sull'unità è usata per archiviare i dati relativi al files ystem e può essere considerata come overhead.
Un file system divide lo spazio restante in segmenti piccoli di dimensioni regolari. Con Linux questi segmenti sono conosciuti come blocchi.
Poichè i file system consentono di eseguire numerose operazioni, tra le quali la creazione di directory e file, questi compromessi non sono che un piccolo prezzo da pagare.
Vale la pena ricordare che non è presente alcun file system singolo ed universale. Come mostrato sulla
Figura A.3, «Unità disco con un filesystem differente», una unità disco è in grado di avere un tipo di file system conservato su di essa. È facile immaginare che diversi file system possano essere incompatibili, cioè, un sistema operativo che supporta un file system (oppure un certo tipo di file system), potrebbe non supportarne altri. Per esempio, Red Hat Enterprise Linux supporta una vasta gamma di file system (incluso file system utilizzati da altri sistemi operativi), facilitando così il processo di scambio dei dati tra diversi file system.
Naturalmente, scrivere un filesystem su disco costituisce solo l'inizio. L'obiettivo di questo processo è quello di archiviare e recuperare i dati. Diamo uno sguardo al disco dopo la scrittura di alcuni file su di esso.
Come mostrato dalla
Figura A.4, «Unità disco contenente dati» alcuni dei blocchi precedentemente vuoti contengono ora dati. Tuttavia guardando questa figura, non sarà possibile determinare esattamente il numero di file presenti su questo drive. Potrebbe esserci un file o numerosi file poichè tutti i file utilizzano almeno un blocco, ed alcuni di loro utilizzano blocchi multipli. Un'altro punto fondamentale da tener presente è quello che i blocchi usati non devono formare un'area contigua; i blocchi usati e quelli non usati possono essere distribuiti. Tale processo è conosciuto come
frammentazione. La frammentazione può essere utile nel processo di ridimensionamento di una partizione esistente.
Con lo sviluppo delle tecnologie informatiche, le unità disco hanno continuato a mutare nel tempo. In particolare, sono diventate più grandi, non dal punto di vista delle dimensioni ma delle capacità, in quando possono archiviare più dati. E questo ha introdotto un cambiamento fondamentale nella modalità di utilizzo dei dischi.
A.1.2. Partizioni: Come ottenere più unità
Con l'aumento delle capacità delle unità disco, alcune persone hanno cominciato a chiedersi se fosse una buona idea avere tutto quello spazio disponibile su un unico disco. Questa linea di pensiero era guidata da vari argomenti, alcuni filosofici, altri tecnici. Da un punto di vista filosofico, oltre una certa dimensione, sembrava che lo spazio aggiuntivo fornito da un disco più grande creasse solo confusione. Da un punto di vista tecnico, alcuni filesystem erano stati ideati per supportare fino a una certa capacità. Oppure i filesystem potevano supportare dischi più grandi, ma l'overhead imposto dal filesystem per tenere traccia dei file diventava eccessivo.
Per risolvere il problema, si è deciso di dividere i dischi in partizioni. Si può accedere a ogni partizione come se fosse un disco separato. Questo avviene mediante l'aggiunta di una tabella delle partizioni.
Mentre i diagrammi in questo capitolo mostrano la tabella delle partizioni separata dal resto del disco, in realtà questa è archiviata all'inizio del disco, prima di ogni filesystem o di qualsiasi dato dell'utente. Ma per maggior chiarezza, nei nostri diagrammi verrà visualizzata separatamente.
Come mostrato in
Figura A.5, «Unità disco con tabella delle partizioni», la tabella delle partizioni è divisa in quattro sezioni o quattro partizioni
primarie. Una partizione primaria è una partizione presente su di un disco fisso in grado di contenere solo una unità logica (o sezione). Ogni sezione può contenere le informazioni necessarie per definire una singola partizione, ciò significa che la tabella delle partizioni può definire non più di quattro partizioni.
Ogni voce della tabella delle partizioni contiene molte caratteristiche importanti della partizione:
Analizziamo più in dettaglio ognuna di queste caratteristiche. I punti iniziali e finali indicano la dimensione e la posizione sul disco della partizione. Il flag "attivo" viene usato dai boot loader di alcuni sistemi operativi. In altre parole, viene avviato il sistema operativo della partizione "attiva" .
Il tipo di partizione può confondere. La tipologia è un numero che identifica l'utilizzo anticipato della partizione. Questa informazione può sembrare un po vaga, perché il significato stesso del tipo di partizione è vago. Alcuni sistemi operativi utilizzano il tipo di partizione per denotare un tipo specifico di filesystem, per identificare la partizione come associata a un sistema operativo particolare, per indicare che la partizione contiene un sistema operativo avviabile o una combinazione di queste tre possibilità.
In molti casi un'unica partizione occupa tutto il disco. In questo caso, nella tabella delle partizioni viene utilizzata solo una voce, che punta all'inizio della partizione.
Abbiamo etichettato questa partizione come partizione di tipo "DOS". Anche se risulta essere uno dei diversi tipi di partizione disponibile presente nella
Tabella A.1, «Tipi di partizione», questa tipologia risulta essere idonea allo scopo di questa discussione.
Tabella A.1. Tipi di partizione Tipo di partizione | Valore | Tipo di partizione | Valore |
---|
Vuoto | 00 | Novell Netware 386 | 65 |
DOS 12-bit FAT | 01 | PIC/IX | 75 |
XENIX root | 02 | Vecchio MINIX | 80 |
XENIX usr | 03 | Linux/MINUX | 81 |
DOS 16-bit <=32M | 04 | Linux swap | 82 |
Estesa | 05 | Linux nativa | 83 |
DOS 16-bit >=32 | 06 | Linux estesa | 85 |
OS/2 HPFS | 07 | Amoeba | 93 |
AIX | 08 | Amoeba BBT | 94 |
AIX avviabile | 09 | BSD/386 | a5 |
OS/2 Boot Manager | 0a | OpenBSD | a6 |
Win95 FAT32 | 0b | NEXTSTEP | a7 |
Win95 FAT32 (LBA) | 0c | BSDI fs | b7 |
Win95 FAT16 (LBA) | 0e | BSDI swap | b8 |
Win95 Extended (LBA) | 0f | Syrinx | c7 |
Venix 80286 | 40 | CP/M | db |
Novell | 51 | DOS access | e1 |
PReP Boot | 41 | DOS R/O | e3 |
GNU HURD | 63 | DOS secondaria | f2 |
Novell Netware 286 | 64 | BBT | ff |
A.1.3. Partizioni all'interno di partizioni — Panoramica sulle partizioni estese
Naturalmente col passare del tempo quattro partizioni sono diventate insufficienti. Con la crescita delle dimensioni dei dischi fissi, è diventato sempre più diffuso creare quattro partizioni di dimensioni ragionevoli ed avere ancora spazio libero sul disco. è divenuto necessario quindi creare altre partizioni.
Inserire la partizione estesa. Come potreste aver notato nella
Tabella A.1, «Tipi di partizione», è presente una partizione di tipo "Estesa". Questo tipo di partizione risulta essere nel cuore delle partizioni estese.
Quando si crea una partizione ed il suo tipo è impostato su "Estesa," verrà creata anche una tabella di partizionamento estesa. In essenza, la partizione estesa è come una unità disco indipendente — cioè ha una tabella delle partizioni che si riferisce ad una o più partizioni (ora chiamate
partizioni logiche, che al contrario delle quattro
partizioni primarie sono contenute interamente all'interno della partizione estesa. La
Figura A.7, «Unità disco con partizione estesa» mostra una unità disco con una partizione primaria, ed una partizione estesa contenente due partizioni logiche (insieme allo spazio disponibile non partizionato).
Come si può notare da questa figura, esiste una differenza tra partizioni primarie e partizioni logiche — si possono avere solo quattro partizioni primarie, ma non c'è limite al numero di partizioni logiche che è possibile ottenere. Tuttavia, dato il modo in cui si accede alle partizioni in Linux, non è una buona idea tentare di definire più di 12 partizioni logiche su una singola unità.
Ora che abbiamo trattato in modo generale l'argomento delle partizioni, vediamo come utilizzare queste informazioni per installare Red Hat Enterprise Linux.
A.1.4. Come fare spazio per Red Hat Enterprise Linux
Il seguente elenco presenta alcuni possibili scenari che è possibile incontrare durante la ripartizione del disco fisso:
Spazio libero non partizionato disponibile
E' disponibile una partizione inutilizzata
E' disponibile spazio libero in una partizione utilizzata attivamente
Analizziamo nell'ordine ogni scenario.
Occorre tenere presente che i seguenti esempi sono stati semplificati per fornire maggior chiarezza e non riflettono la struttura generale delle partizioni necessarie durante l'installazione di Red Hat Enterprise Linux.
A.1.4.1. Utilizzo dello spazio libero non partizionato
In fondo, anche un disco fisso non utilizzato rientra in questa categoria. La sola differenza è che lo spazio non fa parte di alcuna partizione definita.
In qualsiasi caso sarà possibile creare le partizioni necessarie dallo spazio non utilizzato. Sfortunatamente questo scenario, anche se molto semplice, non è probabile (a meno che non abbiate acquistato un nuovo disco solo per Red Hat Enterprise Linux). Numerosi sistemi operativi pre-installati, sono configurati per utilizzare tutto lo spazio disponibile su di un disco fisso (consultare la
Sezione A.1.4.3, «Utilizzo dello spazio libero di una partizione attiva»).
Vediamo ora una situazione più comune.
A.1.4.2. Utilizzo dello spazio di una partizione non utilizzata
In questo caso è possibile che si abbiano una o più partizioni non utilizzate. Probabilmente in passato è stato utilizzato un altro sistema operativo, ed alcune partizioni ad esso dedicate non sono state più utilizzate. La
Figura A.9, «Unità disco con partizione inutilizzata» illustra una situazione simile.
Se ci si trova in questa situazione, è possibile utilizzare lo spazio assegnato per la partizione inutilizzata. è necessario prima di tutto cancellare la partizione e quindi creare al suo posto la partizione (o le partizioni) appropriata per Linux. Durante il processo d'installazione, è possibile creare manualmente le nuove partizioni e cancellare partizioni non usate.
A.1.4.3. Utilizzo dello spazio libero di una partizione attiva
Questa è la situazione più comune. è anche, purtroppo, la più difficile da gestire. Il problema principale infatti è che, anche se è disponibile abbastanza spazio libero, questo è comunque allocato a una partizione già in uso. Se è stato acquistato un computer con un software preinstallato, il disco rigido ha probabilmente una partizione ampia contenente il sistema operativo e i dati.
Oltre ad aggiungere un nuovo disco fisso al sistema, si hanno due alternative:
-
Ripartizionamento distruttivo
In poche parole, si tratta di cancellare l'unica grande partizione e di creare tante partizioni più piccole. Come è possibile immaginare, tutti i dati presenti nella partizione originale verranno distrutti. è pertanto necessario fare prima un backup. Per sicurezza, fare due backup, effettuare la verifica (se disponibile nel software di backup) e provare a leggere i dati dalla copia di backup prima di cancellare la partizione.
Se sulla partizione è installato un sistema operativo, è necessario reinstallarlo. Alcuni computer dotati di sistema operativo pre-installato possono non fornire il supporto CD-ROM per la reinstallazione del sistema operativo originale. Verificare se questo è il caso del sistema in uso prima di distruggere la partizione originale e dell'installazione del sistema operativo.
Dopo aver creato una partizione più piccola per il sistema operativo esistente, sarà possibile installare nuovamente qualsiasi software, ripristinare i propri dati, ed avviare l'installazione di Red Hat Enterprise Linux.
Figura A.10, «Unità disco partizionata in modo distruttivo» mostra come viene fatto.
- Ripartizionamento Non-Distruttivo
è possibile avviare un programma capace di ridurre le dimensioni di una grossa partizione senza perdere nessuno dei file contenuti in quella partizione. Molti trovano questo metodo affidabile e privo di particolari problemi. Quale software bisogna utilizzare per compiere questa operazione? Ci sono parecchi software di gestione del disco sul mercato. Bisogna cercare quello che più si addice alle proprie esigenze.
Mentre il processo di ripartizionamento distruttivo è abbastanza intuitivo, qui ci sono alcuni passi da seguire:
Compressione e backup dei dati esistenti
Ridimensionamento della partizione esistente
Creazione di una nuova partizione
Osserviamo ogni passo in modo leggermente più dettagliato.
A.1.4.3.1. Compressione dei dati esistenti
Come mostrato in
Figura A.11, «Unità disco durante la compressione», la prima fase è quella di comprimere i dati nella partizione esistente. Facendo questo si è in grado di riordinare i dati in modo da massimizzare lo spazio disponibile alla "fine" della partizione.
Questo passo è cruciale. Senza di esso, la posizione dei dati può impedire che la partizione venga ridimensionata nella misura desiderata. Notare anche che alcuni dati non possono essere spostati. Se questo succede (e restringe la misura della/e nuova/e partizione/i), si rischia di dover eseguire il ripartizionamento distruttivo forzato del disco.
A.1.4.3.2. Ridimensionamento della partizione esistente
Figura A.12, «Unità disco con partizione ridimensionata» mostra il processo di ridimensionamento. Anche se il risultato finale dell'operazione di ridimensionamento può variare in funzione del software utilizzato, in molti casi lo spazio appena liberato viene utilizzato per creare una partizione non formattata dello stesso tipo della partizione originale.
E' importante capire come il software di ridimensionamento lavora con lo spazio libero creato, in modo da poter eseguire le operazioni necessarie. Nell'esempio fornito, sarebbe più appropriato cancellare la nuova partizione DOS e creare le partizioni appropriate per Linux.
A.1.4.3.3. Creazione di una nuova partizione
Le informazioni seguenti riguardano solo i computer basati su x86.
Per una questione di convenienza per gli utenti, viene fornito lo strumento parted
. Si tratta di un programma distribuito gratuitamente che può ridimensionare le partizioni.
Se si decide di ripartizionare l'unità disco con parted
, è importante avere una certa familiarità con la memoria del disco, è importante per questo scopo effettuare anche un backup dei dati del computer. Fare due copie di tutti i dati importanti presenti sul computer. Queste copie dovrebbero essere fatte su dispositivi rimovibili (come nastri, CD-ROM, o dischetti). Prima di procedere, dopo aver fatto il backup assicurarsi che i dati siano leggibili.
Se si decide di utilizzare parted
, dopo la sua esecuzione saranno presenti due partizioni: quella ridimensionata e quella che parted
ha ricavato dallo spazio libero appena creato. Se l'obiettivo è quello di utilizzare questo spazio per installare Red Hat Enterprise Linux, cancellare la partizione appena creata utilizzando lo strumento di partizionamento dell'attuale sistema operativo, oppure durante l'impostazione delle partizioni durante l'installazione.
A.1.5. Schema dei nomi per le partizioni
Linux fa riferimento alle partizioni del disco utilizzando una combinazione di lettere e numeri che può confondere, soprattutto se si è abituati al metodo di riferimento "unità C" per i dischi e le partizioni. Nel mondo DOS/Windows, le partizioni sono nominate usando il seguente metodo:
Ogni tipo di partizione viene controllata per determinare se può essere letta da DOS/Windows.
Se la partizione è compatibile le viene assegnata una "lettera dell'unità". Le lettere iniziano dalla "C" e proseguono in funzione del numero di partizioni da etichettare.
La lettera del disco può quindi essere utilizzata per riferirsi a una data partizione così come al filesystem contenuto in essa.
Red Hat Enterprise Linux utilizza uno schema di assegnazione dei nomi più flessibile e ricco di informazioni rispetto all'approccio utilizzato da altri sistemi operativi. Tale schema si basa sui file, con nomi del tipo /dev/xxyN
.
Ecco come decifrare lo schema per l'assegnazione dei nomi delle partizioni:
/dev/
Questo è il nome della directory nella quale risiedono tutti i file dispositivo. Visto che le partizioni risiedono su disco e i dischi rigidi sono dispositivi, i file che rappresentano tutte le possibili partizioni sono contenuti in /dev/
.
xx
Le prime due lettere del nome della partizione indicano il tipo di dispositivo su cui risiede la partizione. In genere si trova hd
(per i dischi IDE) oppure sd
(per i dischi SCSI).
y
Questa lettera indica su quale dispositivo si trova la partizione. Per esempio, /dev/hda
(il primo disco IDE) oppure /dev/sdb
(il secondo disco SCSI).
N
Il numero finale indica la partizione. Le prime quattro partizioni (primarie o estese) vengono numerate da 1
a 4
. Le partizioni logiche iniziano da 5
. Per esempio, /dev/hda3
è la terza partizione primaria o estesa sul primo disco IDE e /dev/sdb6
è la seconda partizione logica sul secondo disco SCSI.
Non esiste nessuna convenzione su questa metodologia di denominazione basata sul tipo di partizione. A differenza di DOS/Windows, tutte le partizioni possono essere identificate sotto Red Hat Enterprise Linux. Naturalmente questo non significa che Red Hat Enterprise Linux può accedere ai dati su qualunque tipo di partizione, ma in molti casi è possibile accedere ai dati di partizioni dedicate ad altri sistemi operativi.
Ricordare queste informazioni; esse renderanno più semplice la configurazione delle partizioni richieste da Red Hat Enterprise Linux.
A.1.6. Partizioni ed altri sistemi operativi
Se le partizioni di Red Hat Enterprise Linux condividono lo spazio presente sul disco con partizioni utilizzate da altri sistemi operativi, non si dovrebbero riscontrare problemi. Tuttavia, alcune combinazioni di Linux ed altri sistemi operativi richiedono maggiori precauzioni.
A.1.7. Partizioni su disco e punti di montaggio
Uno degli aspetti che spesso confonde i nuovi utenti di Linux è capire come vengono utilizzate le partizioni nel sistema operativo Linux. In DOS/Windows è relativamente semplice: se esistono più partizioni, ogni partizione utilizza una "lettera dell'unità". Quindi è possibile utilizzare una lettera per fare riferimento ai file ed alle cartelle presenti sulla partizione corrispondente.
Il modo con cui Linux gestisce le partizioni e, quindi, l'archiviazione sulle unità disco in generale, è completamente diverso. La differenza risiede nel fatto che ogni partizione viene utilizzata per supportare l'archiviazione di un singolo set di file e cartelle. Questo avviene associando una partizione a una cartella attraverso un processo chiamato montaggio. Montare una partizione vuol dire rendere disponibile il contenuto in essa archiviato all'interno della cartella specificata (nota come punto di montaggio).
Per esempio, se la partizione /dev/hda5
viene montata su /usr
, significa che tutti i file e le cartelle sotto /usr
risiedono fisicamente su /dev/hda5
. Così il file /usr/share/doc/FAQ/txt/Linux-FAQ
sarà archiviato in /dev/hda5
, ma non il file /etc/gdm/custom.conf
.
Continuando con questo esempio, è anche possibile che una o più cartelle sotto /usr
siano punto di montaggio per altre partizioni. Per esempio, una partizione (come /dev/hda7
) può essere montata su /usr/local
, il che significa che /usr/local/man/whatis
risiede su /dev/hda7
anziché su /dev/hda5
.
A.1.8. Quante partizioni?
A questo punto del processo di preparazione dell'installazione di Red Hat Enterprise Linux bisogna tenere in considerazione il numero e le dimensioni delle partizioni che vengono utilizzate con il nuovo sistema operativo. La domanda "quante partizioni" continua a generare discussioni nella comunità Linux, è meglio dire che probabilmente ci sono tante modalità in cui creare partizioni quante le persone che ne discutono.
Ricordando quanto detto, e se non esiste un motivo ben preciso per fare diversamente, si consiglia di creare almeno le seguenti partizioni: swap
, /boot/
, e /
(root).