This commit is contained in:
dado 2025-01-20 21:24:02 +01:00
parent d792db3518
commit d6cf1acea0

View File

@ -175,3 +175,102 @@ btrfs sublovule snapshot /mnt/disk /mnt/disk/snap
Per creare istantanee di sola lettura, basta aggiungere il parametro `-r`.
## GNU Parted
`GNU Parted` é un potente editor delle partizioni. Esistono dei front-end grafici, come *GParted*.
> WARNING: Parted apporta modifiche al disco immediatamente dopo che il comando é stato dato, senza attese, diversamente da fdisk e gdisk
```bash
parted DEVICE
parted /dev/sda
```
### Selezionare i dischi
Per passare da un disco diverso da quello selezionato, basta usare il comando `select`:
```bash
parted /dev/sda
Using /dev/sda
(parted) select /dev/sdb
Using /dev/sdb
```
### Ottenere informazioni
Per ottenere informazioni sul disco, utilizzare il comando `print`:
```bash
(parted) print
Model: ATA CT500BX500SSD1 (scsi)
Disk /dev/sdb: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 500GB 500GB
```
Per ottenere un elenco di tutti i dispositivi a blocchi, utilizzare `print devices`. Tramite il comando `print all` si ottengono informazioni su tutti i dispositivi a blocchi collegati. Tramite il comando `print free` é possibile visualizzare lo spazio libero a disposizione su un singolo device
### Creare una tabella delle partizioni
Per creare una tabella delle partizioni su un disco vuoto, usare il comando `mklabel`, seguito dal tipo di tabella che si desidera creare:
```bash
(parted) mklabel msdos
(parted) mklabel gpt
```
### Creare una partizione
Per creare una partizione, si utilizza il comando `mkpart`:
```bash
(parted) mkpart PARTTYPE FSTYPE START END
```
dove:
- `PARTTYPE`: il tipo di partizione, che puo' essere *primary*, *logical* o *extended*
- `FSTYPE`: il tipo di filesystem. Parted non crea il filesystem, ma imposta solo un flag sulla partizione che dice al OS che tipo di dati aspettarsi
- `START`: specifica il punto esatto in cui inizia la partizione
- `END`: specifica il punto in cui la partizione finisce (NON la dimensione)
```bash
(parted) mkpart primary ext4 1m 100m
```
### Eliminare una partizione
Utilizzare il comando `rm` seguito dal numero della partizione da eliminare, visualizzabile col comando `print`.
### Recuperare una partizione
Parted permette di recuperare una partizione cancellata. Utilizzare il comando `rescue`, con la sintassi: `rescue START END`, dove START indica la posizione approssimativa in cui la partizione iniziava e END quella in cui finiva. Parted eseguirà una scansione del disco alla ricerca di partizione e si offrirà di ripristinare quelle trovate. Puo' recuperare solo le partizioni in cui é presente un filesystem; quelle vuote non vengono rilevate.
### Ridimensionare una partizione ext2/3/4
Puo' essere anche usato per ridimensionare le partizioni, al fine di renderle piú grandi i piú piccole, con alcune accortezze:
- durante il ridimensionamento, la partizione deve essere inutilizzata e smontata
Il comando é `resizepart`, seguito da numero di partizione e di dove dovrebbe finire: `resizepart 2 300g`.
Una volta ridimensionata la partizione, bisogna ridimensionare il filesystem. Per i filesystem ext2/3/4, questo viene fatto da `resize2fs PARTITION SIZE`. Se si omette il parametro SIZE, verrá utilizzato tutto lo spazio disponibile: `resize2fs /dev/sdb3`.
Per *restringere* una partizione, il processo deve essere inverso:
- prima si restringe il filesystem, tramite `resize2fs`
- poi si ridimensiona la partizione stessa utilizzando `parted`
```bash
resize2fs /dev/sdb3 200g
parted /dev/sdb3
(parted) resizepart 3 200g
```
## swap