Quest'appendice non viene necessariamente applicata alle architetture che non sono basate su x86. Tuttavia il concetto generale potrebbe essere valido.
25.1. Concetti di base sui dischi fissi
I dischi fissi svolgono una funzione molto semplice: possono archiviare dati e recuperarli su comando.
When discussing issues such as disk partitioning, it is important to know a bit about the underlying hardware. Unfortunately, it is easy to become bogged down in details. Therefore, this appendix uses a simplified diagram of a disk drive to help explain what is really happening when a disk drive is partitioned.
Figura 25.1, «Unità disco mai utilizzata», shows a brand-new, unused disk drive.
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.
25.1.1. Non conta ciò che scrivete, ma come lo scrivete
Experienced computer users probably got this one on the first try. We need to format the drive. Formatting (usually known as "making a file system") writes information to the drive, creating order out of the empty space in an unformatted drive.
A small percentage of the drive's available space is used to store file system-related data and can be considered as overhead.
A file system splits the remaining space into small, consistently-sized segments. For Linux, these segments are known as blocks.
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.
It is also worth noting that there is no single, universal file system. As
Figura 25.3, «Unità disco con un filesystem differente», shows, a disk drive may have one of many different file systems written on it. As you might guess, different file systems tend to be incompatible; that is, an operating system that supports one file system (or a handful of related file system types) may not support another. This last statement is not a hard-and-fast rule, however. For example, Red Hat Enterprise Linux supports a wide variety of file systems (including many commonly used by other operating systems), making data interchange between different file systems easy.
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 nostro disco dopo la scrittura di alcuni file su di esso.
As
Figura 25.4, «Unità disco contenente dati», shows, some of the previously-empty blocks are now holding data. However, by just looking at this picture, we cannot determine exactly how many files reside on this drive. There may only be one file or many, as all files use at least one block and some files use multiple blocks. Another important point to note is that the used blocks do not have to form a contiguous region; used and unused blocks may be interspersed. This is known as
fragmentation. Fragmentation can play a part when attempting to resize an existing partition.
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.
25.1.2. Partizioni: ottenere più unità da una sola
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.
As
Figura 25.5, «Unità disco e tabella delle partizioni» shows, the partition table is divided into four sections or four
primary partitions. A primary partition is a partition on a hard drive that can contain only one logical drive (or section). Each section can hold the information necessary to define a single partition, meaning that the partition table can define no more than four partitions.
Ogni voce della tabella delle partizioni contiene molte caratteristiche importanti della partizione:
Let us take a closer look at each of these characteristics. The starting and ending points actually define the partition's size and location on the disk. The "active" flag is used by some operating systems' boot loaders. In other words, the operating system in the partition that is marked "active" is booted.
The partition's type can be a bit confusing. The type is a number that identifies the partition's anticipated usage. If that statement sounds a bit vague, that is because the meaning of the partition type is a bit vague. Some operating systems use the partition type to denote a specific file system type, to flag the partition as being associated with a particular operating system, to indicate that the partition contains a bootable operating system, or some combination of the three.
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.
We have labeled this partition as being of the "DOS" type. Although it is only one of several possible partition types listed in
Tabella 25.1, «Tipi di partizione», it is adequate for the purposes of this discussion.
Tabella 25.1. Tipi di partizione Tipo di partizione | Valore | Tipo di partizione | Valore |
---|
Vuota | 00 | Novell Netware 386 | 65 |
DOS 12-bit FAT | 01 | PIC/IX | 75 |
XENIX root | 02 | MINIX precedente | 80 |
XENIX usr | 03 | Linux/MINUX | 81 |
DOS 16-bit <=32M | 04 | Linux swap | 82 |
Estesa | 05 | Linux nativo | 83 |
DOS 16-bit >=32 | 06 | Linux esteso | 85 |
OS/2 HPFS | 07 | Amoeba | 93 |
AIX | 08 | Amoeba BBT | 94 |
AIX bootable | 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 Esteso (LBA) | 0f | Syrinx | c7 |
Venix 80286 | 40 | CP/M | db |
Novell | 51 | DOS access | e1 |
Avvio PPC PReP | 41 | DOS R/O | e3 |
GNU HURD | 63 | DOS secondario | f2 |
Novell Netware 286 | 64 | BBT | ff |
25.1.3. Partizioni all'interno di partizioni — Panoramica sulle partizioni estese
Col passare del tempo quattro partizioni non erano più sufficienti. Con la crescita delle dimensioni dei dischi fissi, è diventato sempre più diffuso creare quattro partizioni di dimensioni ragionevoli, riuscendo contemporaneamente ad avere ancora spazio sul disco per creare altre partizioni.
Enter the extended partition. As you may have noticed in
Tabella 25.1, «Tipi di partizione», there is an "Extended" partition type. It is this partition type that is at the heart of extended partitions.
When a partition is created and its type is set to "Extended," an extended partition table is created. In essence, the extended partition is like a disk drive in its own right — it has a partition table that points to one or more partitions (now called
logical partitions, as opposed to the four
primary partitions) contained entirely within the extended partition itself.
Figura 25.7, «Unità disco con partizione estesa», shows a disk drive with one primary partition and one extended partition containing two logical partitions (along with some unpartitioned free space).
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, passiamo al lato pratico e proviamo a installare Red Hat Enterprise Linux.
25.1.4. Creazione di spazio per l'installazione di Red Hat Enterprise Linux
Durante la ripartizione del disco fisso si possono incontrare alcuni possibili scenari:
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 che otterrete durante l'installazione di Red Hat Enterprise Linux.
25.1.4.1. Utilizzo dello spazio libero non partizionato
In fondo, anche un disco fisso non utilizzato rientra in questa categoria, con la sola differenza che lo spazio non fa parte di alcuna partizione definita.
In any case, you can create the necessary partitions from the unused space. Unfortunately, this scenario, although very simple, is not very likely (unless you have just purchased a new disk just for Red Hat Enterprise Linux). Most pre-installed operating systems are configured to take up all available space on a disk drive (refer to
Sezione 25.1.4.3, «Utilizzo dello spazio libero di una partizione attiva»).
Vediamo ora una situazione più comune.
25.1.4.2. Utilizzo dello spazio di una partizione non utilizzata
In this case, maybe you have one or more partitions that you do not use any longer. Perhaps you have dabbled with another operating system in the past, and the partition(s) you dedicated to it never seem to be used anymore.
Figura 25.9, «Unità disco con partizione inutilizzata», illustrates such a situation.
Se vi trovate in questa situazione, potete 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, avrete l'opportunità di creare manualmente le partizioni e di cancellare la partizione che non è stata usata.
25.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 avete abbastanza spazio libero, questo è comunque allocato a una partizione già in uso. Se avete 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 vostro sistema, avete due possibilità
-
Destructive Repartitioning
In poche parole, si tratta di cancellare l'unica grande partizione e di creare tante partizioni più piccole. Come potrete immaginare, tutti i dati presenti nella partizione originale verranno distrutti. È pertanto necessario fare prima un backup. Per sicurezza, fate due backup, effettuate la verifica (se disponibile nel vostro software di backup) e provate 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. Verificate se questo accade sul vostro sistema prima di distruggere la partizione originale e l'installazione del sistema operativo.
- Non-Destructive Repartitioning
Potete 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 dovete utilizzare per compiere questa operazione? Ci sono parecchi software di gestione del disco sul mercato. Dovete cercare quello che più si addice alla vostre esigenze.
Mentre il processo di ripartizionamento distruttivo è abbastanza intuitivo, qui ci sono alcuni passi da seguire:
Osserviamo ogni passo in modo dettagliato.
25.1.4.3.1. Compressione dei dati esistenti
As
Figura 25.11, «Unità disco durante la compressione», shows, the first step is to compress the data in your existing partition. The reason for doing this is to rearrange the data such that it maximizes the available free space at the "end" of the partition.
Questo passo è cruciale. Senza di esso, la posizione dei vostri dati può impedire che la partizione venga ridimensionata nella misura desiderata. Notate anche che alcuni dati non possono essere spostati. Se questo succede (e restringe la misura della/e nuova/e partizione/i), rischiate di dover eseguire il ripartizionamento distruttivo forzato del vostro disco.
25.1.4.3.2. Resize the existing partition
Figura 25.12, «Unità disco con partizione ridimensionata», shows the actual resizing process. While the actual result of the resizing operation varies depending on the software used, in most cases the newly freed space is used to create an unformatted partition of the same type as the original partition.
È 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.
25.1.4.3.3. Create new partition(s)
Le informazioni seguenti riguardano solo i computer basati su x86.
Per una questione di convenienza per i nostri clienti, l'utilità parted
è inclusa. Si tratta di un programma distribuito gratuitamente che può ridimensionare le partizioni.
Se decidete di ripartizionare la vostra unità disco con parted
, è importante avere una certa familiarità con la memoria del disco, importante per questo scopo effettuare anche un back up dei dati del vostro computer. Fate due copie di tutti i dati importanti presenti sul vostro computer. Queste copie dovrebbero essere fatte su dispositivi rimovibili (come nastri, CD-ROM, o dischetti). Prima di procedere, dopo aver fatto il backup assicuratevi che i dati siano leggibili.
Se decidete di utilizzare parted
, ricordate che dopo la sua esecuzione saranno presenti due partizioni: quella ridimensionata e quella che parted
ha creato dallo spazio libero della prima partizione. Se il vostro obiettivo è quello di utilizzare questo spazio per installare Red Hat Enterprise Linux, cancellate la partizione appena creata utilizzando la utility di partizionamento del vostro sistema operativo corrente, oppure durante l'impostazione delle partizioni durante l'installazione.
25.1.5. Schema dei nomi per le partizioni
Linux refers to disk partitions using a combination of letters and numbers which may be confusing, particularly if you are used to the "C drive" way of referring to hard disks and their partitions. In the DOS/Windows world, partitions are named using the following method:
Each partition's type is checked to determine if it can be read by DOS/Windows.
If the partition's type is compatible, it is assigned a "drive letter." The drive letters start with a "C" and move on to the following letters, depending on the number of partitions to be labeled.
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 device. 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 trovate 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.
Queste informazioni vi faciliteranno le cose quando configurerete le partizioni richieste da Red Hat Enterprise Linux.
25.1.6. Partizioni e altri sistemi operativi
Se le partizioni di Red Hat Enterprise Linux devono condividere lo spazio presente sul disco con partizioni utilizzate da altri sistemi operativi, allora non dovreste avere problemi. Tuttavia, alcune combinazioni di Linux e altri sistemi operativi richiedono maggiori precauzioni.
25.1.7. Partizioni su disco e Mount Point
One area that many people new to Linux find confusing is the matter of how partitions are used and accessed by the Linux operating system. In DOS/Windows, it is relatively simple: Each partition gets a "drive letter." You then use the correct drive letter to refer to files and directories on its corresponding partition.
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 directory. Questo avviene associando una partizione a una directory attraverso un processo chiamato mounting. Montare una partizione vuol dire rendere disponibile il contenuto in essa archiviato a partire dalla directory specificata (nota come mount point).
Per esempio, se la partizione /dev/hda5
viene montata su /usr
, significa che tutti i file e le directory 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/X11/gdm/Sessions/Gnome
.
Continuando con questo esempio, è anche possibile che una o più directory sotto /usr
siano mount point 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
.
25.1.8. Quante partizioni?
At this point in the process of preparing to install Red Hat Enterprise Linux, you must give some consideration to the number and size of the partitions to be used by your new operating system. The question of "how many partitions" continues to spark debate within the Linux community and, without any end to the debate in sight, it is safe to say that there are probably as many partition layouts as there are people debating the issue.
Ricordando quanto detto, e se non avete un motivo ben preciso per fare diversamente, si consiglia di creare almeno le seguenti partizioni: swap
, /boot/
(o una partizione /boot/efi/
per sistemi Itanium), una partizione /var/
per sistemi Itanium ed una partizione /
(root).