This commit is contained in:
dado 2025-01-26 21:08:03 +01:00
parent 8fab2a1575
commit ba515e5b92

View File

@ -0,0 +1,72 @@
# Introduzione
I moderni filesystem Linux hanno un *diario di bordo*. Questo significa che ogni operazione viene registrata in un log interno, il *journal*, prima di essere eseguita. Se un'operazione viene interrotta a causa di un errore di sistema, questa puo' essere ricostruita controllando il journal, evitando il danneggiamento del filesystem e la perdita di dati.
## Controllare l'utilizzo dei dischi
Un comando usato per controllare quanto spazio viene usato e quanto ne resta su un determinato filesystem é `du` o *disk usage*.
```bash
1.1G ./Film/S09
8.8G ./Film/S10
32G ./Film
55G ./Criterion
86G .
```
Il comportamento predefinito é quello di mostrare l'utilizzo di ogni sottodirectory, quindi l'utilizzo totale della directory corrente, incluse le sottodirectory (86G nell'esempio). Per controllare quanto *profondo* l'output di `du` dovrebbe essere, si utilizza il parametro `-d N`, dove `N` indica il livello.
Per impostazione predefinita, `du` mostra solo il conteggio dell'utilizzo delle directory. Per mostrare un conteggio individuale per tutti i file, aggiungere il parametro `-a`.
Per escludere alcuni tipi di file dal conteggio si utilizza `--exclude="PATTERN"`:
```bash
> du -h --exclude="*.mkv"
0 ./Film/S09
0 ./Film/S10
0 ./Film
0 ./Criterion
356K .
```
## Controllare lo spazio libero
`du` funziona a livello di file e directory. `df` mostra invece quanto spazio é disponibile a livello di filesystem. Mostra un elenco di tutti i filesystem montati nel sistema, inclusa la loro dimensione totale, lo spazio utilizzato, quello ancora disponibile, la percentuale e il mount-point.
```bash
[21:03 Sun Jan 26]dado@dadopc (1425):~
> df -h
Filesystem Type Size Used Avail Use% Mounted on
udev devtmpfs 15G 0 15G 0% /dev
tmpfs tmpfs 3.0G 1.9M 3.0G 1% /run
/dev/mapper/VG0-LV0 btrfs 465G 117G 346G 26% /
```
Per mostrare gli inode usati/disponibili invece dei blocchi, si usa il parametro `-i`:
```bash
[21:03 Sun Jan 26]dado@dadopc (1427):~
> df -i
Filesystem Type Inodes IUsed IFree IUse% Mounted on
udev devtmpfs 3.7M 596 3.7M 1% /dev
tmpfs tmpfs 3.7M 1.2K 3.7M 1% /run
/dev/mapper/VG0-LV0 btrfs 0 0 0 - /
```
Il parametro `-T` stampa il tipo di filesystem. É possibile anche filtrare l'output per mostrare solo un tipo di filesystem con `-t TYPE` o escludere un dato filesystem con `-x TYPE`:
```bash
[21:06 Sun Jan 26]dado@dadopc (1428):~
> df -hTt btrfs
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/VG0-LV0 btrfs 465G 117G 346G 26% /
/dev/mapper/VG0-LV0 btrfs 465G 117G 346G 26% /var/cache
/dev/mapper/VG0-LV0 btrfs 465G 117G 346G 26% /home
/dev/mapper/VG0-LV0 btrfs 465G 117G 346G 26% /.snapshots
/dev/mapper/VG0-LV0 btrfs 465G 117G 346G 26% /var/crash
/dev/mapper/VG0-LV0 btrfs 465G 117G 346G 26% /var/lib/AccountsService
/dev/mapper/VG0-LV0 btrfs 465G 117G 346G 26% /var/lib/gdm3
/dev/mapper/VG0-LV0 btrfs 465G 117G 346G 26% /var/log
/dev/mapper/VG0-LV0 btrfs 465G 117G 346G 26% /var/tmp
```
## Manutenzione dei filesystem ext2, ext3 e ext4