This is Gentoo's testing wiki. It is a non-operational environment and its textual content is outdated.
Please visit our production wiki at https://wiki.gentoo.org
Preparare i dischi
Introduzione ai dispositivi a blocchi
Dispositivi a blocchi
Approfondiamo ora gli aspetti relativi ai dischi di Gentoo Linux e Linux in generale, compresi i filesystem, le partizioni e i dispositivi a blocchi di Linux. Appena tutto sarà chiaro in merito ai filesystem, allora partizioni e filesystem potranno essere scelti per installare Gentoo Linux.
Per iniziare, diamo un'occhiata ai dispositivi a blocchi. Quello più noto è solitamente il primo disco in un sistema Linux, ovvero /dev/sda. I dischi SCSI e Serial ATA sono entrambi chiamati /dev/sd*; persino i dispositivi IDE sono etichettati /dev/sd* quando si usa il framework libata nel kernel. Invece, con il framework (libreria di codici) dei vecchi dispositivi, il primo disco IDE è /dev/hda.
I dispositivi a blocchi di cui sopra rappresentano un'interfaccia astratta del disco. I programmi dell'utente possono usare questi dispositivi a blocchi per interagire col disco senza doversi preoccupare del fatto che i dischi siano IDE, SCSI o altro. Il programma può semplicemente indirizzare lo spazio sul disco come un insieme di blocchi da 512 byte contigui e accessibili in modo casuale.
Tabelle delle partizioni
Benché per ospitare un sistema Linux sia teoricamente possibile usare un disco grezzo e non partizionato (quando si crea un RAID btrfs per esempio), praticamente ciò non viene mai fatto. Piuttosto, i dischi vengono suddivisi in unità a blocchi più piccole e maneggevoli. Su sistemi amd64, esse sono chiamate partizioni. Attualmente sono standardizzate due tecnologie di partizionamento: MBR e GPT.
MBR
La configurazione tramite MBR (Master Boot Record) usa identificatori a 32 bit per il settore di avvio e per stabilire la grandezza delle partizioni. Supporta tre tipi di partizione: primaria, estesa e logica. Le partizioni primarie memorizzano le loro informazioni nel master boot record stesso - uno spazio molto piccolo (solitamente 512 byte) all'inizio del disco. A causa del poco spazio, vengono supportate solo quattro partizioni primarie (per esempio, da /dev/sda1 a /dev/sda4).
Per supportare più partizioni, una delle partizioni primarie può essere definita come partizione estesa. Questa partizione può in tal caso contenere a sua volta delle partizioni logiche (partizioni all'interno di una partizione).
Although still supported by most motherboard manufacturers partition tables are considered legacy. Unless working with hardware that is pre-2010, it best to partition a disk using a GUID Partition Table. Readers who must proceed with MBR should acknowledge the following information:
- Most post-2010 motherboards consider MBR a legacy (supported, but not ideal) boot mode.
- Due to using 32-bit identifiers, master boot record partitioning tables cannot handle disks that are greater than 2 TiBs in size.
- Unless a extended partition is created, MBR supports a maximum of four partitions.
- The MBR setup does not provide any backup-MBR, so if an application or user overwrites the MBR, all partition information is lost.
The Handbook authors suggest using GPT whenever possible for Gentoo installations.
GPT
La configurazione tramite GPT (GUID Partition Table) usa identificatori a 64 bit per le partizioni. Lo spazio dove memorizza le informazioni sulle partizioni è molto più grande dei 512 byte dell'MBR, il ché significa che non c'è praticamente alcun limite alla quantità di partizioni definibili su un disco GPT. Inoltre, il limite per la dimensione massima di una partizione è di gran lunga maggiore (quasi 8 ZB - sì, zettabytes).
Quando l'interfaccia software del sistema, che si pone tra il sistema operativo e il firmware, è UEFI (anziché BIOS), GPT è quasi obbligatoria in quanto potrebbero sorgere problemi di compatibilità con MBR.
GPT trae anche vantaggio dalle somme di controllo (checksum) e dalla ridondanza. Porta il controllo CRC32 alla testata delle tabelle di partizione per rilevare errori ed offre un backup del segmento GPT alla fine del disco. Questo backup può essere usato per ripristinare i danni del segmento GPT corrente all'inizio del disco.
GPT o MBR
Dalla descrizione precedente, si potrebbe pensare che usare GPT sia sempre l'approccio migliore da seguire, tuttavia ci sono alcune controindicazioni.
Nel caso si usi GPT su un computer basato su BIOS, non è possibile effettuare il dual boot (avvio doppio o multiplo) con un sistema operativo Microsoft Windows. Il motivo è che Microsoft Windows, quando rivela un'etichetta GPT, si avvia in modalità UEFI.
Firmware difettosi di alcune schede madri configurati per avviarsi in modalità BIOS/CSM/legacy potrebbero avere problemi quando si avviano da dischi etichettati GPT. Se questo è il caso, allora si può risolvere aggiungendo il flag avvio/attivo sulla partizione MBR protettiva, tramite fdisk con l'opzione -t dos
per forzare la lettura della tabella delle partizioni con il formato MBR.
In questo caso, eseguire fdisk ed impostare il flag usando il tasto a. Premere 1 per selezionare la prima partizione, premere il tasto w per scrivere i cambiamenti sul disco e uscire dall'applicazione fdisk:
user $
fdisk -t dos /dev/sda
Welcome to (Benvenuti su) fdisk (util-linux 2.24.1). Changes will remain in memory only, until you decide to write them. (I cambiamenti rimarranno solo nella memoria, finché non deciderai di scriverli) Be careful before using the write command. (Presta attenzione prima di usare il comando scrivi) Command (m for help): a Partition number (1-4): 1 Command (m for help): w
Uso di UEFI
Quando si installa Gentoo su un sistema che utilizza UEFI per avviare il sistema operativo (invece di BIOS), allora è importante creare una Partizione di Sistema EFI (ESP). Le istruzioni per parted di seguito contengono i puntatori necessari per gestire questa operazione correttamente.
La partizione ESP deve essere una variante di FAT (talvolta mostrata come vfat sui sistemi Linux). Le specifiche UEFI ufficiali dichiarano che i filesystem FAT12, 16 o 32 vengono riconosciuti dal firmware UEFI, benché sia raccomandato FAT32 per la ESP. Procedere con la formattazione della ESP in FAT32:
root #
mkfs.fat -F 32 /dev/sda2
Se non viene usata una variante FAT per l'ESP, non è garantito che il firmware UEFI di sistema trovi il bootloader (o il kernel Linux) e probabilmente non sarà in grado di avviare il sistema!
Partizionamento avanzato
RAID btrfs
Come notato sopra, btrfs ha la possibilità di creare filesystem su più dispositivi. I filesystem btrfs generati così possono funzionare in vari modi: raid0, raid1, raid10, raid5 e raid6. Le modalità RAID 5 e 6 sono migliorate considerevolmente, ma sono ancora considerate instabili. Una volta creato un filesystem su più dispositivi, possono essere aggiunti nuovi dispositivi e quelli vecchi possono essere rimossi con pochi comandi. Btrfs comunque richiede più coinvolgimento da parte dell'utente rispetto ad altri filesystem, rendendolo non particolarmente adatto ai principianti.
I filesystem ext4 possono essere convertiti in filesystem btrfs, cosa che può essere utile per coloro che vogliono installare Gentoo con un filesystem stabile e ben testato e che desiderano accrescere la loro conoscenza dei filesystem più recenti come btrfs tramite esperimenti diretti.
LVM
I CD di installazione amd64 forniscono supporto per il gestore dei volumi logici (LVM). LVM accresce la flessibilità offerta dalla configurazione di partizionamento. Le istruzioni di installazione riportate di seguito si concentrano su partizioni "regolari", ma è bene sapere che anche LVM è supportato se si desidera proseguire per quella strada. Leggere l'articolo LVM per ulteriori dettagli. I nuovi arrivati stiano attenti: benché LVM sia completamente supportato, va al di là dello scopo di questa guida.
Schema di partizionamento predefinito
Per tutto il resto del manuale, verrà usato il seguento schema di partizionamento come esempio semplice di configurazione:
Partizione | Filesystem | Dimensione | Descrizione |
---|---|---|---|
/dev/sda1 | (bootloader) | 2M | Partizione di avvio BIOS |
/dev/sda2 | ext2 (o fat32 se si utilizza UEFI) | 128M | Partizione di sistema Boot/EFI |
/dev/sda3 | (swap) | 512M o maggiore | Partizione di swap |
/dev/sda4 | ext4 | Spazio rimanente del disco | Partizione radice (root) |
Se ciò è sufficiente e il lettore ha scelto la configurazione GPT, si può proseguire con la sezione Predefinito: Uso di parted per partizionare il disco. Coloro che sono ancora interessati a MBR (ehi, capita!) e vogliono usare la configurazione d'esempio, possono proseguire con l'Alternativa: Uso di fdisk per partizionare il disco.
Sia fdisk che parted sono utilità di partizionamento. fdisk è ben noto, stabile, e raccomandato per la configurazione di partizionamento MBR, mentre parted è stata una delle prima utilità di gestione dei dispositivi a blocchi Linux a supportare le partizioni GPT. Coloro a cui piace l'interfaccia di fdisk possono usare gdisk (fdisk GPT) come alternativa a parted.
Prima di proseguire con le istruzioni di creazione, il primo insieme di sezioni descriverà con maggiori dettagli come si possono creare schemi di partizionamento e si menzioneranno alcune trappole comuni.
Progettazione di uno schema delle partizioni
Quante partizioni e quanto grandi?
Il numero di partizioni dipende fortemente dal tipo di ambiente. Per esempio, se sono previsti molti utenti, allora è consigliato avere la /home/ separata così da migliorare la sicurezza e rendere più facili i backup. Se Gentoo viene installato per fare da server di posta elettronica, allora /var/ è meglio che stia separata in quanto le email vengono memorizzate all'interno di /var/. Una buona scelta del filesystem massimizzerà le prestazioni. I server da gioco avranno /opt/ separata, in quando la maggior parte dei server da gioco sono installati lì. La ragione è simile al percorso /home/: sicurezza e backup. Nella maggior parte delle situazioni, /usr/ dovrà essere capiente: non solo contiene la maggior parte delle applicazioni, ma in genere ospita anche repository ebuild di Gentoo (solitamente su /usr/portage), che fin dall'inizio occupa già 650 MB. Questa stima dello spazio su disco esclude le cartelle packages/ e distfiles/ che sono generalmente memorizzate all'interno di questo archivio ebuild.
Molto dipende da ciò che desidera l'amministratore. Partizioni o volumi separati hanno i seguenti vantaggi:
- Scelta del miglior filesystem per ciascuna partizione o volume.
- L'intero sistema non esaurirà lo spazio, nel caso in cui uno strumento invalido continui a scrivere file su una partizione o un volume.
- Se necessario, i controlli del filesystem impiegheranno meno tempo, in quanto possono essere fatti in parallelo (benché questo vantaggio sia maggiore con i dischi multipli piuttosto che con le sole partizioni multiple).
- La sicurezza può essere migliorata montando alcune partizioni o volumi in modalità di sola lettura,
nosuid
(ignora i bit setuid),noexec
(ignora i bit eseguibili), ecc.
Tuttavia, anche avere partizioni multiple presenta degli svantaggi. Se il sistema non viene appropriatamente configurato potrebbe avere molto spazio libero su una partizione e niente più spazio su un'altra. Un altro aspetto noioso è che partizioni separate - specialmente per i punti di montaggio importanti come /usr/ o /var/ - richiedono spesso che l'amministratore avvii il sistema con un initramfs per montare la partizione, prima che altri script all'avvio vengano eseguiti. Non sempre si verifica questo caso, quindi i risultati possono variare.
C'è anche un limite di 15 partizioni per SCSI e SATA a meno che il disco non usi una configurazione GPT.
Riguardo lo spazio di swap?
Non c'è un valore perfetto per la partizione di swap. Lo scopo dello spazio di swap è quello di fornire, tramite disco, memoria al kernel quando la memoria interna (RAM) è sotto pressione. Uno spazio di swap permette al kernel di spostare le pagine di memoria, che non verranno utilizzate entro breve tempo, sul disco (swap o spaginazione), liberando memoria. Ovviamente, se quella memoria torna improvvisamente necessaria, queste pagine vengono rimesse nella memoria (paginazione), ciò richiederà un po' di tempo (dato che i dischi sono molto lenti, se paragonati alla memoria interna).
Quando il sistema non esegue applicazioni che occupano molta memoria oppure se il sistema ha tantissima memoria disponibile, allora è probabile che non serva molto spazio di swap. Comunque, lo spazio di swap è usato anche per scriverci tutta la memoria in caso di ibernazione. Se il sistema deve andare in ibernazione, allora è richiesto uno spazio di swap più grande, spesso pari ad almeno la quantità di memoria installata sul sistema.
Cos'è la partizione di avvio BIOS?
Una partizione di avvio BIOS è una partizione molto piccola (da 1 a 2 MB) in cui i bootloader come GRUB2 possono inserire dati aggiuntivi se non riescono a stare nello spazio allocato (poche centinaia di byte nel caso di MBR) e se non possono stare altrove.
Tale partizione non sempre è necessaria, ma considerando l'esiguo consumo di spazio e le difficoltà che avremmo nel documentare l'ampio insieme delle differenze di partizionamento facendo altre scelte, è raccomandato crearla in ogni caso.
Per completezza, si consideri che la partizione di avvio BIOS è necessaria quando lo schema di partizionamento GPT viene usato con GRUB2, o quando lo schema di partizionamento MBR viene usato con GRUB2 qualora la prima partizione inizi prima della distanza di 1 MB dall'inizio del disco.
Predefinito: Uso di parted per partizionare il disco
In questo capitolo, sarà utilizzato il precedente schema di partizionamento d'esempio:
Partizione | Descrizione |
---|---|
/dev/sda1 | Partizione di avvio BIOS |
/dev/sda2 | Partizione di avvio |
/dev/sda3 | Partizione di swap |
/dev/sda4 | Partizione radice (root) |
Modificare lo schema di partizionamento in base alle proprie personali preferenze.
Visualizzare lo schema delle partizioni correnti con parted
L'applicazione parted offre un'interfaccia semplice per partizionare i dischi e supporta partizioni molto grandi (oltre 2 TB). Lanciare parted per il disco (come da esempio si userà /dev/sda). Si raccomanda di indicare a parted di realizzare un allineamento ottimale:
root #
parted -a optimal /dev/sda
GNU Parted 2.3 Using (in utilizzo) /dev/sda Welcome to GNU Parted! Type 'help' to view a list of commands. (Benvenuto su GNU Parted! Digita 'help' per vedere l'elenco dei comandi)
Allineare significa che le partizioni vengono avviate secondo confini ben noti interni al disco, assicurandosi che le operazioni su disco dal livello del sistema operativo (recuperare pagine dati dal disco) si servano della minima quantità di operazioni per il disco interno. Le partizioni disallineate potrebbero richiedere al disco di recuperare due pagine dati invece di una sola, anche se il sistema operativo richiede una sola pagina.
Per conoscere tutte le opzioni supportate da parted, digitare help e premere invio.
Impostare l'etichetta GPT
La maggior parte dei dischi su architetture x86 e amd64 vengono preparati usando l'etichetta msdos. Se si usa parted, il comando per impostare l'etichetta GPT sul disco è mklabel gpt:
Cambiare il tipo di partizionamento rimuoverà tutte le partizioni dal disco. Tutti i dati sul disco saranno eliminati.
(parted)
mklabel gpt
Per inizializzare il disco con MBR, usare mklabel msdos.
Rimuovere tutte le partizioni con parted
Se ciò non è ancora stato fatto (per esempio, attraverso il precedente mklabel o nel caso in cui il disco sia stato appena formattato), prima si devono rimuovere tutte le partizioni esistenti dal disco. Digitare print per vedere le partizioni correnti e digitare rm <N> con <N>
che indica il numero della partizione da rimuovere.
(parted)
rm 2
Proseguire rimuovendo tutte le altre partizioni non desiderate. Ci si assicuri di non commettere alcun errore in questo momento - parted esegue immediatamente le modifiche (diversamente da fdisk che prima le prepara, lasciando la possibilità di annullare i suoi cambiamenti prima di salvarli o di uscire da fdisk).
Creare le partizioni
Adesso parted sarà usato per creare le partizioni con le seguenti impostazioni:
- Il tipo di partizione da usare. Solitamente è quella primaria. Se si usa la tabella delle partizioni msdos, si tenga presente che non più di 4 partizioni primarie possono essere create. Se servono più di 4 partizioni, allora una di queste dovrà essere una partizione estesa al cui interno si potranno creare partizioni logiche.
- La posizione di inizio della partizione (la quale può essere espressa in MB, GB, ... )
- La posizione di fine della partizione (la quale può essere espressa in MB, GB, ... )
Cominciamo dicendo a parted che i megabytes saranno l'unità di dimensionamento con la quale lavoreremo (per l'esattezza useremo i mebibytes, megabyte binari, abbreviati con la sigla MiB che è la notazione "standard", ma lungo tutto il documento scriveremo MB che è molto più comune):
(parted)
unit mib
Creare adesso una partizione da 2 MB che verrà usata dal boot loader (selettore di avvio) GRUB2. Usare il comando mkpart per fare questo ed informare parted di collocarla dopo 1 MB dall'inizio del disco e concluderla a 3 MB (così da creare una partizione di 2 MB).
(parted)
mkpart primary 1 3
(parted)
name 1 grub
(parted)
set 1 bios_grub on
(parted)
print
Model: Virtio Block Device (virtblk) Disk /dev/sda: 20480MiB Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End Size File system Name Flags 1 1.00MiB 3.00MiB 2.00MiB grub bios_grub
Allo stesso modo si definisca la partizione di avvio (128 MB), la partizione di swap (512 MB come da esempio) e la partizione radice (root) che occuperà il rimanente spazio su disco (la posizione di fine disco viene indicata con -1, che significa meno 1 MB dalla fine del disco, tale posizione è quella più lontana a cui una partizione può arrivare).
(parted)
mkpart primary 3 131
(parted)
name 2 boot
(parted)
mkpart primary 131 643
(parted)
name 3 swap
(parted)
mkpart primary 643 -1
(parted)
name 4 rootfs
Quando si usa l'interfaccia UEFI per avviare il sistema (anziché BIOS), si deve marcare la partizione di avvio come Partizione di Sistema EFI (ESP). Parted lo fa automaticamente quando l'opzione boot viene impostata per questa partizione:
(parted)
set 2 boot on
Il risultato finale somiglierà a questo:
(parted)
print
Model: Virtio Block Device (virtblk) Disk /dev/sda: 20480MiB Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End Size File system Name Flags 1 1.00MiB 3.00MiB 2.00MiB grub bios_grub 2 3.00MiB 131MiB 128MiB boot boot 3 131MiB 643MiB 512MiB swap 4 643MiB 20479MiB 19836MiB rootfs
Su un'installazione UEFI, i flag boot ed esp saranno mostrati sulla partizione di avvio.
Usare il comando quit per uscire da parted.
Alternativa: Uso di fdisk per partizionare il disco
Sebbene versioni aggiornate di fdisk dovrebbero supportare GPT, si sono riscontrati ancora dei problemi con esso. Le istruzioni sottostanti considerano che lo schema delle partizioni sia basato su MBR.
La seguente parte spiega come impostare le partizioni secondo l'esempio usando fdisk. Lo schema delle partizioni d'esempio menzionato prima:
Partizione | Descrizione |
---|---|
/dev/sda1 | Partizione di avvio BIOS |
/dev/sda2 | Partizione di avvio |
/dev/sda3 | Partizione di swap |
/dev/sda4 | Partizione radice (root) |
Modificare lo schema di partizionamento in base alle proprie personali preferenze.
Visualizzare lo schema delle partizioni correnti con fdisk
fdisk è un famoso e potente strumento per dividere un disco in partizioni. Lanciare fdisk per il disco (nel nostro esempio usiamo /dev/sda):
root #
fdisk /dev/sda
Per usare GPT, aggiungere
-t gpt
. È strettamente raccomandato leggere attentamente l'output di fdisk nel caso in cui recenti sviluppi per fdisk abbiamo modificato i suoi comportamenti predefiniti che prediligono MBR. Le rimanenti istruzioni considerano che si usi l'impostazione MBR.Usare il tasto p per visualizzare l'attuale configurazione delle partizioni sul disco:
Command (m for help):
p
Disk /dev/sda: 240 heads, 63 sectors, 2184 cylinders Units = cylinders of 15120 * 512 bytes Device Boot Start End Blocks Id System /dev/sda1 * 1 14 105808+ 83 Linux /dev/sda2 15 49 264600 82 Linux swap /dev/sda3 50 70 158760 83 Linux /dev/sda4 71 2184 15981840 5 Extended /dev/sda5 71 209 1050808+ 83 Linux /dev/sda6 210 348 1050808+ 83 Linux /dev/sda7 349 626 2101648+ 83 Linux /dev/sda8 627 904 2101648+ 83 Linux /dev/sda9 905 2184 9676768+ 83 Linux
Questo particolare disco è stato configurato per ospitare 7 filesystem Linux (ciascuno con una corrispondente partizione elencata come "Linux") e una partizione di swap (indicata con "Linux swap").
Rimuovere tutte le partizioni con fdisk
Prima rimuovere tutte le partizioni esistenti dal disco. Digitare d per eliminare una partizione. Per esempio, per eliminare un'esistente /dev/sda1:
Command (m for help):
d
Partition number (1-4): 1
La partizione è ora programmata per l'eliminazione. Non sarà più mostrata quando si richiede l'elenco delle partizioni (p), comunque non sarà effettivamente eliminata finché i cambiamenti non saranno salvati. Ciò permette agli utenti di annullare l'operazione se è stato commesso qualche errore - in tal caso, digitare subito q e premere Enter così la partizione non sarà eliminata.
Digitare nuovamente p per visualizzare un elenco delle partizioni e premere d seguito dal numero della partizione da eliminare. Alla fine, la tabella delle partizioni sarà vuota:
Command (m for help):
p
Disk /dev/sda: 30.0 GB, 30005821440 bytes 240 heads, 63 sectors/track, 3876 cylinders Units = cylinders of 15120 * 512 = 7741440 bytes Device Boot Start End Blocks Id System
Ora che la tabella delle partizioni risulta vuota, anche se solo nella memoria, siamo pronti per creare le nuove partizioni.
Creare la partizione di avvio BIOS
Per prima cosa si crei una piccola partizione di avvio per il BIOS. Digitare n per creare una nuova partizione, quindi p per selezionare una partizione primaria, seguito da 1 per selezionare la prima partizione primaria. Quando viene richiesto il settore di inizio, assicurarsi che inizi dal 2048 (necessario per il boot loader) e premere Enter. Quando viene richiesto il settore finale, digitare +2M per creare una partizione grande 2 MByte:
L'avvio dal settore 2048 è una misura di sicurezza nel caso il selettore di avvio non rilevi questa partizione come disponibile all'uso.
Command (m for help):
n
Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First sector (64-10486533532, default 64): 2048 Last sector, +sectors +size{M,K,G} (4096-10486533532, default 10486533532): +2M
Segnare la partizione per gli scopi di UEFI:
Command (m for help):
t
Selected partition 1 Hex code (type L to list codes): 4 Changed system type of partition 1 to 4 (BIOS boot)
L'uso di UEFI con lo schema di partizioni MBR è scoraggiato. Se si usa un sistema che supporta UEFI, per favore si usi il partizionamento GPT.
Creare la partizione di avvio
Creare ora una piccola partizione di avvio. Digitare n per creare una nuova partizione, poi p per selezionare una partizione primaria, seguito da 2 per selezionare una seconda partizione primaria. Quando viene richiesto il settore di inizio, accettare quello predefinito premendo Enter. Quando viene richiesto il settore finale, digitare +128M per creare una partizione grande 128 MByte:
Command (m for help):
n
Command action e extended p primary partition (1-4) p Partition number (1-4): 2 First sector (5198-10486533532, default 5198): (Hit enter) Last sector, +sectors +size{M,K,G} (4096-10486533532, default 10486533532): +128M
Ora, quando si preme p, viene mostrato il seguente risultato di partizionamento:
Command (m for help):
p
Disk /dev/sda: 30.0 GB, 30005821440 bytes 240 heads, 63 sectors/track, 3876 cylinders Units = cylinders of 15120 * 512 = 7741440 bytes Device Boot Start End Blocks Id System /dev/sda1 1 3 5198+ ef EFI (FAT-12/16/32) /dev/sda2 3 14 105808+ 83 Linux
Premere a per impostare il flag di avvio ad una partizione e scegliere 2. Dopo, premere ancora p, notare che un asterisco * verrà posto sulla colonna "Boot" (Avvio).
Creare la partizione di swap
Per creare una partizione di swap: digitare n per creare una nuova partizione, poi p per dire a fdisk di creare una partizione primaria. Digitare 3 per creare una terza partizione primaria, /dev/sda3. Quando viene richiesto il settore di inizio, premere Enter. Quando viene richiesto il settore finale, digitare +512M (o qualsiasi altra grandezza sia necessaria per lo spazio di swap) così da creare una partizione grande 512 MB.
Fatto tutto questo, digitare t per impostare il tipo di partizione, 3 per selezionare la partizione appena creata e poi digitare 82 per impostare il tipo di partizione "Linux Swap".
Creare la partizione radice
Infine, per creare la partizione radice (root), digitare n per creare una nuova partizione, quindi p per indicare a fdisk di creare una partizione primaria. Poi digitare 4 per creare la quarta partizione primaria, /dev/sda4. Quando viene richiesto il settore di inizio, premere Enter. Quando viene richiesto il settore finale, premere Enter per creare una partizione che occupi il rimanente spazio su disco. Dopo aver completato questi passaggi, digitando p si dovrebbe vedere una tabella delle partizioni simile a questa:
Command (m for help):
p
Disk /dev/sda: 30.0 GB, 30005821440 bytes 240 heads, 63 sectors/track, 3876 cylinders Units = cylinders of 15120 * 512 = 7741440 bytes Device Boot Start End Blocks Id System /dev/sda1 1 3 5198+ ef EFI (FAT-12/16/32) /dev/sda2 * 3 14 105808+ 83 Linux /dev/sda3 15 81 506520 82 Linux swap /dev/sda4 82 3876 28690200 83 Linux
Salvare lo schema delle partizioni
Per salvare la configurazione delle partizioni e uscire da fdisk, premere w.
Command (m for help):
w
Ora che le partizioni sono state create, si deve procedere alla creazione di un filesystem su ciascuna di esse.
Creazione dei file system
Introduzione
Una volta create le partizioni, è ora di inserirci un filesystem. Nella sezione successiva vengono descritti i file system supportati da Linux. I lettori che sanno già quale filesystem usare possono continuare con la sezione Applicare un filesystem ad una partizione. Gli altri lettori dovrebbero continuare a leggere per comprendere meglio i filesystem disponibili...
Filesystem
Sono disponibili numerosi filesystem. Alcuni di essi sono ritenuti stabili sull'architettura amd64 - è consigliabile informarsi sui filesystem e sul loro supporto, prima di selezionarne uno più sperimentale da usare su partizioni importanti.
- btrfs
- È un filesystem di nuova generazione che fornisce molte caratteristiche avanzate, come la possibilità di creare istantanee, l'auto-riparazione tramite checksum, la compressione trasparente, i sottovolumi e il RAID integrato. Alcune distribuzioni hanno iniziato ad offrirlo come opzione standard, ma non è pronto per la produzione. Sono frequenti i rapporti di corruzione del filesystem. I suoi sviluppatori spingono la gente ad utilizzare la versione più recente del kernel, perché quelle più vecchie è noto che causino problemi. Così è stato per anni ed è troppo presto per dire se le cose sono cambiate. Le correzioni dei problemi di corruzione raramente vengono trasferite sui kernel più vecchi. Si proceda con cautela quando si utilizza questo filesystem!
- ext2
- È l'effettivo e collaudato filesystem di Linux, ma non ha il journaling dei metadati, il ché significa che i controlli di routine del filesystem ext2 effettuati all'avvio possono richiedere molto tempo. Ormai esiste una scelta piuttosto ampia di filesystem con journaling, la cui consistenza può essere controllata molto velocemente e sono infatti generalmente preferiti rispetto alle controparti senza journaling. I filesystem con journaling prevengono lunghi ritardi qualora il sistema si avvii con il filesystem in uno stato inconsistente (errori di coerenza).
- ext3
- È la versione con journaling del filesystem ext2, che fornisce il journaling dei metadati per un ripristino veloce in aggiunta ad altre modalità migliorate di journaling come quello a dati completi e a dati ordinati. Usa un indice HTree che permette alte prestazioni in quasi tutte le situazioni. In breve, ext3 è un filesystem molto buono e affidabile.
- ext4
- Inizialmente creato come un derivato di ext3, ext4 porta nuove caratteristiche, miglioramenti delle prestazioni e rimozione dei limiti delle dimensioni con lievi modifiche al formato su disco. Può ospitare volumi fino a 1 EB e con una dimensione massima dei file di 16 TB. Invece della classica allocazione a blocchi bitmap di ext2-3, ext4 utilizza le estensioni, che migliorano le prestazioni con file grandi e riducono la frammentazione. Ext4 fornisce anche algoritmi di allocazione dei blocchi più sofisticati (allocazione ritardata e multiblocco) dando ai driver del filesystem più modi per ottimizzare la distribuzione dei dati su disco. Ext4 è il filesystem raccomandato per tutti gli utilizzi e per tutte le piattaforme.
- f2fs
- Il Flash-Friendly File System fu originariamente creato da Samsung per essere usato con la memoria flash NAND. Nel secondo quadrimestre del 2016, questo filesystem era considerato ancora immaturo, ma è una scelta decente quando si installa Gentoo su microSD, dischi USB, o altri dispositivi di memoria basati su flash.
- JFS
- È il filesystem ad alte prestazioni di IBM. JFS è un filesystem leggero, veloce e affidabile basato su B+tree con buone prestazioni in varie condizioni.
- ReiserFS
- È un filesystem con journaling basato su B+tree che ha delle buone prestazioni complessive, specialmente quando si ha a che fare con molti piccoli file al costo di più cicli di CPU. ReiserFS sembra essere meno mantenuto rispetto ad altri filesystem.
- XFS
- È un filesystem con journaling dei metadati che fornisce un robusto insieme di caratteristiche ed è ottimizzato per la scalabilità. XFS sembra essere meno indulgente in caso di vari problemi hardware.
- vfat
- Anche conosciuto come FAT32, è supportato da Linux ma non supporta alcuna configurazione dei permessi. È principalmente usato per interoperabilità con altri sistemi operativi (principalmente Microsoft Windows) ma è anche una necessità per alcuni firmware di sistema (come UEFI).
- NTFS
- Il filesystem "New Technology" è quello principale su Microsoft Windows. Analogamente a vfat, non memorizza le impostazioni dei permessi o gli attributi estesi necessari ai sistemi BSD o Linux affinché funzionino correttamente, di conseguenza non può essere usato come filesystem radice (root). Dovrebbe essere usato solamente per l'interoperabilità con i sistemi Microsoft Windows (si noti l'enfasi su solamente).
Quando si usa ext2, ext3 o ext4 su una piccola partizione (minore di 8GB), allora il filesystem deve essere creato con le opzioni appropriate per riservare abbastanza inode. L'applicazione mke2fs mkfs.ext2 usa l'impostazione "bytes-per-inode" per calcolare quanti inode dovrebbe avere un filesystem. Su partizioni più piccole, è consigliato aumentare il numero di inode calcolati.
Su ext2, ciò può essere fatto usando il seguente comando:
root #
mkfs.ext2 -T small /dev/<dispositivo>
Su ext3 ed ext4, aggiungere l'opzione -j
per abilitare il journaling:
root #
mkfs.ext2 -j -T small /dev/<dispositivo>
Questa scelta generalmente quadruplica il numero di inode per un certo filesystem poiché i suoi "bytes-per-inode" anziché uno ogni 16kB diventano uno ogni 4kB. Ciò può essere ulteriormente modificato specificando la proporzione:
root #
mkfs.ext2 -i <proporzione> /dev/<dispositivo>
Applicare un filesystem ad una partizione
Per creare un filesystem su una partizione o su un volume, ci sono strumenti avviabili dallo spazio utente per ogni possibile filesystem. Cliccare sul nome del filesystem nella tabella sottostante per informazioni aggiuntive su ciascun filesystem:
Filesystem | Comando di creazione | Sul CD minimale? | Pacchetto |
---|---|---|---|
btrfs | mkfs.btrfs | Sì | sys-fs/btrfs-progs |
ext2 | mkfs.ext2 | Sì | sys-fs/e2fsprogs |
ext3 | mkfs.ext3 | Sì | sys-fs/e2fsprogs |
ext4 | mkfs.ext4 | Sì | sys-fs/e2fsprogs |
f2fs | mkfs.f2fs | Sì | sys-fs/f2fs-tools |
jfs | mkfs.jfs | Sì | sys-fs/jfsutils |
reiserfs | mkfs.reiserfs | Sì | sys-fs/reiserfsprogs |
xfs | mkfs.xfs | Sì | sys-fs/xfsprogs |
vfat | mkfs.vfat | Sì | sys-fs/dosfstools |
NTFS | mkfs.ntfs | Sì | sys-fs/ntfs3g |
Per esempio, per avere la partizione boot (/dev/sda2) in ext2 e la partizione root (/dev/sda4) in ext4 come nello schema delle partizioni d'esempio, si devono usare i seguenti comandi:
root #
mkfs.ext2 /dev/sda2
root #
mkfs.ext4 /dev/sda4
Ora si devono creare i filesystem sulle partizioni o i volumi logici appena creati.
Attivazione della partizione di swap
mkswap è il comando che viene usato per inizializzare la partizione di swap:
root #
mkswap /dev/sda3
Per attivare la partizione di swap, usare swapon:
root #
swapon /dev/sda3
Creare ed attivare lo swap con i comandi sopra menzionati.
Montaggio della partizione di root
Ora che le partizioni sono inizializzate ed ospitano un filesystem, è tempo di montare quelle partizioni. Usare il comando mount, ma non dimenticarsi di creare le directory (cartelle) di montaggio necessarie su cui montare ogni partizione creata. Nell'esempio è riportato come montare la partizione di root:
root #
mount /dev/sda4 /mnt/gentoo
Se è necessario che /tmp/ risieda su una partizione separata, assicurarsi di cambiare i suoi permessi dopo averla montata:
root #
chmod 1777 /mnt/gentoo/tmp
Più avanti nel manuale, il filesystem proc (un'interfaccia virtuale fornita dal kernel) ed altri pseudo-filesystem del kernel verranno montati. Però prima è necessario Installare i file di installazione di Gentoo.