From 4de06bfcfc43def6bf1edd76a9a4a88bed7848d4 Mon Sep 17 00:00:00 2001 From: dado Date: Mon, 13 Jan 2025 20:50:58 +0100 Subject: [PATCH] partizionamento e creazione di filesystem --- 101/022_partizioni_filesystem.md | 50 --------- 101/023_file_system_partizionamento.md | 7 -- 101/023_partizioni_filesystem.md | 135 +++++++++++++++++++++++++ 3 files changed, 135 insertions(+), 57 deletions(-) delete mode 100644 101/022_partizioni_filesystem.md delete mode 100644 101/023_file_system_partizionamento.md create mode 100644 101/023_partizioni_filesystem.md diff --git a/101/022_partizioni_filesystem.md b/101/022_partizioni_filesystem.md deleted file mode 100644 index 7c5191d..0000000 --- a/101/022_partizioni_filesystem.md +++ /dev/null @@ -1,50 +0,0 @@ -Su qualsiasi OS, un disco deve essere *partizionato* prima di poter essere utilizzato. Una **partizione** é un sottoinsieme logico del disco fisico. Le informazioni sulle partizioni sono archiviate in una *tabella delle partizioni*. - -## MBR e GPT - -Esistono due modi principali per memorizzare le informazioni sulle partizioni: - -- MBR (*Master Boot Record*) -- GPT (*Guid Partition Table*) - -### MBR - -La tabella delle partizioni é memorizzata nel primo settore di un disco, chiamato *Boot Sector*, insieme a un bootloader, solitamente GRUB. Ha diverse limitazioni: - -- incapacità di indirizzare dischi di dimensione superiore ai 2TB -- un massimo di 4 partizioni primarie per disco -- per rendere il disco avviabile, la prima partizione deve essere primaria - -Un disco MBR puo' avere due tipi differenti di partizioni: *primaria* ed *estesa*. In Linux sono trattate ugualmente, per cui non ci sono vantaggi nell'uso dell'una piuttosto che dell'altra. - -### GPT - -Risolve molti dei limiti di MBR. Non esiste un limite alla dimensione del disco e il numero massimo di partizioni dipende dal OS. - -## fdisk - -L'utilità standard per la gestione delle partizioni. - -```bash -fdisk -l /dev/sda - -Disk /dev/sda: 465.76 GiB, 500107862016 bytes, 976773168 sectors -Disk model: CT500BX500SSD1 -Units: sectors of 1 * 512 = 512 bytes -Sector size (logical/physical): 512 bytes / 512 bytes -I/O size (minimum/optimal): 512 bytes / 512 bytes -Disklabel type: gpt -Disk identifier: E224383F-FD8C-4067-8F01-09A7965B7EFA - -Device Start End Sectors Size Type -/dev/sda1 2048 976773119 976771072 465.8G Linux filesystem -``` - -dove: - -- `Device`: il dispositivo assegnato alla partizione -- `Start`: il settore in cui inizia la partizione -- `End`: il settore in cui termina la partizione -- `Sectors`: il numero totale di settori della partizione -- `Size`: la dimensione della partizione - diff --git a/101/023_file_system_partizionamento.md b/101/023_file_system_partizionamento.md deleted file mode 100644 index 00a7422..0000000 --- a/101/023_file_system_partizionamento.md +++ /dev/null @@ -1,7 +0,0 @@ -## Introduzione - -Su qualsiasi OS, un disco deve essere partizionato, prima di poter essere utilizzato. Una *partizione* e' un sottoinsieme logico di un disco fisico; le informazioni sulle partizioni sono archiviate in una *tabella delle partizioni*. - -Su Linux, ogni partizione e' assegnata a una directory sotto `/dev`, come `/dev/sda1`. - - diff --git a/101/023_partizioni_filesystem.md b/101/023_partizioni_filesystem.md new file mode 100644 index 0000000..bc814f2 --- /dev/null +++ b/101/023_partizioni_filesystem.md @@ -0,0 +1,135 @@ +## Introduzione + +Su qualsiasi OS, un disco deve essere partizionato, prima di poter essere utilizzato. Una *partizione* e' un sottoinsieme logico di un disco fisico; le informazioni sulle partizioni sono archiviate in una *tabella delle partizioni*. + +Su Linux, ogni partizione e' assegnata a una directory sotto `/dev`, come `/dev/sda1`. + +## MBR e GPT + +Esistono due modi principali per memorizzare le informazioni sulle partizioni: + +- MBR (*Master Boot Record*) +- GPT (*Guid Partition Table*) + +### MBR + +La tabella delle partizioni é memorizzata nel primo settore di un disco, chiamato *Boot Sector*, insieme a un bootloader, solitamente GRUB. Ha diverse limitazioni: + +- incapacità di indirizzare dischi di dimensione superiore ai 2TB +- un massimo di 4 partizioni primarie per disco +- per rendere il disco avviabile, la prima partizione deve essere primaria + +Un disco MBR puo' avere due tipi differenti di partizioni: *primaria* ed *estesa*. In Linux sono trattate ugualmente, per cui non ci sono vantaggi nell'uso dell'una piuttosto che dell'altra. + +### GPT + +Risolve molti dei limiti di MBR. Non esiste un limite alla dimensione del disco e il numero massimo di partizioni dipende dal OS. + +#### fdisk + +L'utilità standard per la gestione delle partizioni. Esiste anche `cfdisk`. + +```bash +fdisk -l /dev/sda + +Disk /dev/sda: 465.76 GiB, 500107862016 bytes, 976773168 sectors +Disk model: CT500BX500SSD1 +Units: sectors of 1 * 512 = 512 bytes +Sector size (logical/physical): 512 bytes / 512 bytes +I/O size (minimum/optimal): 512 bytes / 512 bytes +Disklabel type: gpt +Disk identifier: E224383F-FD8C-4067-8F01-09A7965B7EFA + +Device Start End Sectors Size Type +/dev/sda1 2048 976773119 976771072 465.8G Linux filesystem +``` + +dove: + +- `Device`: il dispositivo assegnato alla partizione +- `Start`: il settore in cui inizia la partizione +- `End`: il settore in cui termina la partizione +- `Sectors`: il numero totale di settori della partizione +- `Size`: la dimensione della partizione + +#### gdisk + +Utilità equivalente a *fdisk* e con comandi molto simili. + +```bash +sudo gdisk -l /dev/sda +GPT fdisk (gdisk) version 1.0.10 + +Partition table scan: + MBR: protective + BSD: not present + APM: not present + GPT: present + +Found valid GPT with protective MBR; using GPT. +Disk /dev/sda: 937703088 sectors, 447.1 GiB +Model: KINGSTON SA400S3 +Sector size (logical/physical): 512/512 bytes +Disk identifier (GUID): 2393AA2C-252F-46A4-AAB9-35EE402D3D71 +Partition table holds up to 128 entries +Main partition table begins at sector 2 and ends at sector 33 +First usable sector is 2048, last usable sector is 937703054 +Partitions will be aligned on 2048-sector boundaries +Total free space is 1679 sectors (839.5 KiB) + +Number Start (sector) End (sector) Size Code Name + 1 2048 937701375 447.1 GiB 8300 +``` + +- Ogni disco ha un identificatore (**GUI**) univoco: si tratta di un numero esadecimale a 128 bit, assegnato casualmente quando viene creata la tabella delle partizioni +- Un disco GPT puo' avere fino a 128 partizioni +- Le partizioni GPT possono essere facilmente riordinare o riorganizzate, utilizzando il comando `s` +- Rispetto a fdisk, durante la creazione delle partizione, é possibile specificare il tipo di partizione (Linux, Windows, ecc.) +- Fornisce utilità per aiutare nel ripristino, accessibili col comando `r` +- Con GPT, la dimensione di una partizione non é limitata dalla quantità massima di spazio contiguo non allocato. + +## Creare un file-system + +Prima di utilizzare una partizione, occorre creare un file-system. *Controlla il modo in cui i dati vengono archiviati e acceduti*. Lo strumento standard utilizzato é `mkfs`. + +### ext2/ext3/ext4 + +L'`extended file-system` (ext) é stato il primo file-system per Linux e nel corso degli anni é stato sostituito da nuove versioni, chiamate ext2, ext3 e ext4. + +Le utilità `mkfs.ext2`, `mkfs.ext3` e `mkfs.ext4` sono utilizzate per creare file-system ext2, ext3 e ext4. Queste utilità sono collegamenti simbolici a `mke2fs`. + +#### Sintassi + +```bash +mkfs.ext4 TARGET + +mke2fs -t ext4 TARGET +``` + +dove TARGET é il nome della partizione. Alcuni dei parametri principali: + +- `-L` o Volume_Label: imposta un'etichetta +- `-n`: simula la creazione del file-system +- `-q`: modalità silenziosa +- `-c`: controllo dei blocchi danneggiati prima di creare un file-system +- `-d` (DIRECTORY): copia il contenuto della directory specificata nel nuovo file-system + +### FAT o VFAT + +Il file-system FAT ha avuto origine con MS-DOS e negli anni ha ricevuto diverse versioni, culminate in FAT32, rilasciato nel 1996. VFAT é a estensione di FAT16 con supporto a nomi di file lunghi (fino a 255 caratteri). Entrambi sono gestiti da `mkfs.fat`. + +FAT16 supporta volumi di massimo 4GB e file con una dimensione massima di 2GB. FAT32 aumenta la dimensione massima dei file a 4GB e dei dischi a 2 PB. + +```bash +mkfs.fat TARGET +``` + +### exFAT + +É stato creato da Microsoft nel 2006, al fine di superare i limiti di FAT32: supporta file di dimensione massima di 16 exabyte e dischi di 128 petabyte. Ottima scelta per garantire l'interoperabilitá Linux-Windows. L'utilità predefinita é `mkfs.exfat`: + +```bash +mkfs.exfat TARGET +``` + +### Btrfs \ No newline at end of file