Guida allo Spazio Disco di Ubuntu: Come Controllare lo Spazio Libero e Risolvere il Problema—Tutto il Necessario

目次

1. Conoscenze Preliminari: Struttura di Archiviazione e Montaggio in Linux/Ubuntu

Quando si controlla la capacità di archiviazione su Ubuntu (e la maggior parte dei sistemi operativi basati su Linux), ci sono alcune strutture fondamentali che è necessario comprendere correttamente. Questa sezione organizza i concetti che spesso causano confusione:

  • Significati di dispositivi e partizioni
  • Montaggio e punti di montaggio
  • Nozioni di base su LVM (Logical Volume Management)
  • Configurazioni tipiche di Ubuntu

Procederemo passo per passo attraverso ciascun punto.

1.1 Nozioni di Base su Dispositivi e Partizioni

Dispositivi (Dischi Fisici e Logici)

In Linux, ogni dispositivo di archiviazione è trattato come un file dispositivo. Ad esempio, HDD, SSD, drive USB, ecc., appaiono come /dev/sda, /dev/sdb, /dev/nvme0n1 e così via.
La lettera finale (a, b, c…) indica l’ordine in cui il sistema ha rilevato i dispositivi.

Partizioni

Un singolo dispositivo fisico può essere utilizzato così com’è, ma è comune suddividerlo in diverse sezioni logiche (partizioni). La partizione consente di separare il sistema operativo, i dati, i log, ecc., per una gestione più semplice.

Ad esempio, /dev/sda1, /dev/sda2 indicano la prima e la seconda partizione sul dispositivo sda. Un filesystem viene creato su ciascuna partizione e i dati effettivi sono memorizzati lì.
(Spiegazione di esempio delle partizioni in Linux) Engineer’s Entrance

Le partizioni utilizzano un formato di tabella delle partizioni come MBR (vecchio) o GPT (nuovo), ciascuno con i propri vincoli e vantaggi.

1.2 Montaggio e Punti di Montaggio

Montaggio

Per rendere un filesystem utilizzabile, è necessario montarlo, ovvero associare una partizione (o un volume logico) a una directory specifica (il punto di montaggio). Senza montaggio, non è possibile accedere ai dati su quella partizione.

Ad esempio, anche se /dev/sda1 contiene un filesystem ext4, è necessario eseguire mount /dev/sda1 /mnt/data prima di poter lavorare sotto /mnt/data.

Punto di Montaggio

La directory in cui si monta un filesystem è chiamata punto di montaggio. Esempi tipici:

  • / – root, il punto di partenza dell’intero sistema
  • /home – directory home degli utenti
  • /var – log, cache, dati variabili
  • /boot – file relativi all’avvio

Assegnare partizioni diverse a punti di montaggio diversi è una pratica comune.

In Ubuntu e nella maggior parte dei sistemi operativi Linux, il file /etc/fstab elenca “quale dispositivo/UUID è montato dove (automaticamente all’avvio).”

1.3 Panoramica su LVM (Logical Volume Management)

La partizione pura può rendere difficili le modifiche successive. LVM (Logical Volume Manager) risolve questo problema.

Componenti Principali di LVM

  • Physical Volume (PV) – un disco fisico o una partizione.
  • Volume Group (VG) – aggrega più PV in un unico pool grande.
  • Logical Volume (LV) – una fetta prelevata da un VG; un filesystem viene creato su un LV.

Questa gerarchia consente di espandere o ridurre i volumi logici in seguito, o di aggiungere più dischi fisici al pool.

Vantaggi e Avvertenze di LVM

Vantaggi

  • Ridimensionamento flessibile
  • Combinare più dischi in un unico pool
  • Facile creazione di snapshot per il backup

Avvertenze

  • Più complesso da configurare e gestire
  • Rischio di perdita dati se maneggiato in modo errato
  • Passi di espansione diversi dalle configurazioni non-LVM

L’installer di Ubuntu offre spesso un’opzione LVM, ma molti utenti scelgono di non utilizzarla in base alle loro esigenze.

1.4 Configurazioni Tipiche di Ubuntu

La disposizione esatta varia, ma i pattern comuni includono:

Layout a Partizione Singola (Semplice)

Tutti i file risiedono sotto la root (/). Più semplice, ma la suddivisione o l’espansione successiva può essere difficile.

Esempio di Layout Suddiviso

  • / – file di sistema
  • /home – dati utente
  • /var – log e dati variabili
  • /boot – file del bootloader
  • Swap (partizione di swap o file di swap)

Separare questi aiuta a prevenire che la crescita di log o cache riempia l’intero sistema.

LVM + Volumi Logici

Una configurazione più avanzata:

  • Dischi fisici → PV
  • Più PV → VG
  • / , /home , /var , ecc. → LV separati
  • Aggiungere o espandere LV in seguito secondo necessità

Con LVM è possibile aggiungere dischi o ingrandire i volumi logici in modo flessibile.

2. Comandi Base per Controllare la Capacità

Su Ubuntu, l’uso della riga di comando è il modo più affidabile e flessibile per controllare l’utilizzo del disco. Anche sui server headless, puoi vedere esattamente quali dischi sono utilizzati e quali directory consumano spazio.

Sotto sono elencati i comandi principali df e du, più alcuni strumenti di supporto.

2.1 Controllo dei Filesystem Completi con df

Cosa fa df

df (disk free) mostra lo spazio totale, utilizzato e disponibile per ogni filesystem. È il modo più comune per controllare la capacità su Linux.

Utilizzo Base

df -h

Il comando elenca ogni filesystem in unità “leggibili dall’uomo” (K, M, G). Colonne principali:

ColumnMeaning
FilesystemDevice name (e.g., /dev/sda1)
SizeTotal size of the filesystem
UsedSpace already used
AvailFree space remaining
Use%Percentage used
Mounted onMount point (e.g., /,
OptionDescription
-hDisplay sizes in MB/GB units (handy for a quick view)
-TAlso show the filesystem type (e.g., ext4, xfs)
--totalAppend a total line at the end
df -h /homeShow only the filesystem that contains the specified directory

Esempio

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda2       100G   55G   40G  59% /
/dev/sda1       512M  120M  392M  24% /boot
tmpfs            16G   32M   16G   1% /run

Da questo output puoi vedere a colpo d’occhio quanto spazio sta utilizzando ogni area.

Note

  • Le partizioni non montate non sono incluse nell’output di df.
  • Se i pacchetti Snap ( /var/lib/snapd/snaps ) stanno consumando spazio, dovrai controllarli separatamente.
  • Alcuni punti di mount sono invisibili senza privilegi di root.

2.2 Controllo dell’utilizzo a livello di directory con il comando du

Panoramica di du

du (disk usage) è un comando che riporta la dimensione di directory e file.
Mentre df ti dà il “quadro generale”, du ti aiuta a scoprire “dove si trova il grosso”.

Utilizzo Base

du -sh /home

In questo esempio, l’utilizzo totale della directory /home è mostrato in un formato “leggibile dall’uomo” (-h).

Opzioni Comuni

OptionDescription
-sShow only the total (suppress details)
-hAuto‑scale units for readability
--max-depth=1List usage of items directly under the specified directory
-cShow a grand total at the end
--exclude=PATTERNExclude specific folders (e.g., caches)

Esempio (confronto generale)

sudo du -h --max-depth=1 /var

Output di esempio:

1.2G    /var/log
2.5G    /var/lib
800M    /var/cache
4.5G    /var

Questo ti permette di vedere rapidamente quali cartelle stanno occupando spazio.

Avanzato: Ordinamento per dimensione

Combinando du con sort, puoi facilmente individuare le directory grandi.

sudo du -hsx /* | sort -rh | head -10

Questo comando calcola l’utilizzo di ogni cartella di livello superiore e mostra le prime 10.
È molto efficace per rintracciare i “colpevoli che mangiano spazio” in tutto il sistema.

Note

  • Gli alberi di directory profonde possono richiedere un po’ di tempo per essere processati.
  • Senza privilegi di root, alcune directory non riporteranno dimensioni accurate.
  • Anche su SSD veloci, misurare decine di gigabyte può richiedere diversi minuti.

2.3 Altri comandi e strumenti di supporto utili

lsblk: Visualizza il layout dei dispositivi a blocchi

lsblk

lsblk mostra i dispositivi disco e il loro layout di partizioni in formato ad albero.
È un modo comodo per correlare visivamente le dimensioni con i punti di mount.

Esempio:

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda      8:0    0   100G  0 disk
├─sda1   8:1    0   512M  0 part /boot
└─sda2   8:2    0  99.5G  0 part /

ncdu: Analizzatore interattivo dell’utilizzo del disco

Se vuoi un’interfaccia più intuitiva di du, prova ncdu (NCurses Disk Usage).
Installalo con:

sudo apt install ncdu

Eseguilo:

sudo ncdu /

Usa i tasti freccia per espandere e collassare le cartelle e vedere quali directory stanno consumando spazio.
Poiché funziona senza una GUI, è popolare sia sui server che sulle workstation.

Combinazione con find

Per localizzare solo i file più grandi, usa find:

sudo find / -type f -size +1G

Questo cerca tutti i file più grandi di 1 GB, aiutandoti a identificare file grandi non necessari come log o immagini di macchine virtuali.

2.4 Quale metodo usare? (Riepilogo del confronto)

GoalExample commandCharacteristics
Check overall free spacedf -hShows usage per filesystem
Find size of a specific folderdu -sh /pathDisplays detailed size
Locate space‑eatersdu -hsx /* | sort -rhSorts directories by size
View device layoutlsblkVisualizes partition relationships
Find large filesfind / -type f -size +1GFilters by size condition

3. Controllo dell’utilizzo del disco con una GUI (Ubuntu Desktop)

Ubuntu fornisce strumenti grafici che ti permettono di vedere l’utilizzo del disco senza aprire un terminale. Sotto sono elencati due metodi comuni.

  • Il File Manager (Nautilus) integrato
  • L’Disk Usage Analyzer (Baobab)

Guarderemo le funzionalità e come usare ciascuno.

3.1 Controllo dello spazio libero con il File Manager (Nautilus)

Il metodo predefinito di Ubuntu

Se stai usando Ubuntu Desktop, il modo più semplice per vedere lo spazio su disco è aprire il File Manager (Nautilus).

  1. Fai clic sull’icona File nella barra laterale sinistra (launcher dell’applicazione).
  2. Guarda la barra di stato in alto a destra o in basso a sinistra della finestra.
  3. Vedrai qualcosa del tipo “xx GB di yy GB usati” o “zz GB liberi”.

Questo ti fornisce una visualeiata dello spazio libero del disco di sistema.

Visualizzare i dettagli tramite Proprietà

Fai clic con il pulsante destro su una cartella o sull’icona di un’unità e scegli Proprietà.
La finestra di dialogo mostra lo spazio usato e quello libero per quella cartella specifica, utile per controllare directory come /home o /Downloads.

Pro e contro

ProsCons
One‑click, very easyHidden or system areas are not obvious
Beginner‑friendlyDoesn’t reveal /var/log, system partitions, etc.

L’interfaccia grafica è ottima per avere una rapida “sensazione” dell’utilizzo complessivo, ma per un’analisi più approfondita ti servirà Baobab.

3.2 Analizzatore di utilizzo del disco (Baobab)

Cos’è Baobab?

Baobab (Analizzatore di utilizzo del disco) è un’utilità grafica che scandisce il tuo file system e presenta i risultati come una mappa ad albero interattiva o un grafico ad anello. Ti consente di individuare rapidamente le directory e i file di grandi dimensioni con una panoramica visiva.

Installazione

sudo apt install baobab

Avvio

Puoi avviarlo dal menu delle applicazioni (cerca “Disk Usage Analyzer”) o eseguire:

baobab

Come usarlo

  1. Scegli una posizione da analizzare (ad es., “Cartella Home”, “File system” o un percorso personalizzato).
  2. Al termine della scansione, la mappa ad albero mostra ogni cartella come un rettangolo dimensionato proporzionalmente al consumo di spazio.
  3. Passa il mouse o fai clic su un rettangolo per vedere la dimensione esatta e il percorso.
  4. Fai clic con pulsante destro su una cartella per aprirla nel file manager o eliminarla direttamente.

Poiché Baobab funziona senza richiedere un ambiente desktop completo, è utile anche su versioni leggere di Ubuntu.

Vantaggi

  • Rappresentazione visiva e intuitiva dell’utilizzo del disco.
  • Navigazione semplice verso i maggiori consumatori di spazio.
  • Nessuna necessità di ricordare le opzioni da riga di comando.

Limitazioni

  • La scansione di file system molto grandi può richiedere alcuni minuti.
  • Richiede una sessione grafica (non adatta a server senza interfaccia).

Baobab (nome ufficiale: Disk Usage Analyzer) è uno strumento grafico disponibile di default su Ubuntu che mostra visivamente quanto spazio utilizza ogni cartella con grafici a torta e mappe ad albero.

È installato sulla maggior parte sistemi di default, ma se non è presente puoi aggiungerlo con:

sudo apt install baobab

Come avviare

  1. Cerca “Disk Usage” in Attività (barra di ricerca in alto a sinistra)
  2. Fai clic su Disk Usage Analyzer (Baobab) per avviarlo
  3. Dopo l’avvio, scegli Scansiona cartella o Scansiona l’intero file system

Dopo una breve scansione, un grafico a torta o una vista ad albero mostrerà visivamente l’utilizzo di ogni directory.

Vista di esempio (Immagine)

  • Più ti allontani, più profonda è la gerarchia delle directory
  • La dimensione di ogni segmento è rappresentata dall’area della fetta di torta

L’indicatore visivo rende facile vedere quali cartelle sono gonfiate a colpo d’occhio.

Funzionalità principali

FeatureDescription
Specify Scan TargetYou can limit the scan to a specific directory such as /home
Tree ViewBrowse the folder structure and sizes in a list
Identify Unneeded FilesSpot large folders instantly
Right‑click → OpenOpen the selected directory directly in the file manager

Vantaggi e avvertenze

Vantaggi

  • La visualizzazione grafica la rende intuitiva per i principianti
  • Aiuta a decidere cosa eliminare o riorganizzare
  • L’esecuzione come root consente di analizzare anche le partizioni di sistema

Avvertenze

  • La scansione dell’intero sistema può richiedere tempo
  • Le restrizioni di permessi possono impedire una misurazione accurata di alcune cartelle
  • I dischi di grandi dimensioni possono aumentare l’uso di memoria durante la scansione

3.3 Controllare le informazioni del disco con GNOME Disks

Ubuntu include anche l’app standard GNOME Disks (Utility disco).
Ti consente di ispezionare la struttura del disco stessa, mostrando più del semplice spazio libero:

  • Nome del dispositivo (ad es., /dev/sda )
  • Tipo di file system (ext4, NTFS, ecc.)
  • Punto di montaggio
  • Grafico di utilizzo

Come avviare:

  1. Cerca “Disks” in Attività
  2. Apri GNOME Disks
  3. Seleziona un disco dall’elenco a sinistra

Un indicatore visivo mostra l’utilizzo, fornendo le stesse informazioni di df in forma grafica.

3.4 Quando usare l’interfaccia grafica vs. la riga di comando

Su un desktop Ubuntu, gli strumenti GUI sono spesso sufficienti per la gestione dello storage.
Tuttavia, per risoluzione di problemi precisa o amministrazione di server, gli strumenti da riga di comando come df e du sono essenziali.

SituationRecommended Tool
Quick check of free spaceFile manager (Nautilus)
Find large foldersBaobab (Disk Usage Analyzer)
Inspect device layoutGNOME Disks
Server or remote environmentdf, du, lsblk, ncdu

3.5 Se non è disponibile l’interfaccia grafica (utenti server)

Se stai eseguendo Ubuntu Server o un altro ambiente senza GUI, Baobab e i gestori di file non sono utilizzabili.

In quel caso, affidati ai comandi df, du e ncdu introdotti in precedenza; forniscono un’analisi dettagliata dello storage basata su testo.

Riepilogo

Utilizzare una GUI ti permette di controllare lo storage e identificare i punti di pulizia con solo pochi clic.
Baobab, in particolare, è uno strumento essenziale utilizzato da tutti, dai nuovi arrivati di Ubuntu agli utenti esperti.
Mescolando i metodi descritti in questo capitolo, il monitoraggio quotidiano dello storage diventa molto più facile.

4. Passi di Indagine e Rimedi per Spazio su Disco Basso

Nel tempo, l’uso a lungo termine e gli aggiornamenti cumulativi dei pacchetti possono causare un calo dello spazio su disco su Ubuntu.
Lasciare un sistema in uno stato di basso spazio può portare a aggiornamenti falliti, log mancanti e instabilità generale.
Questa sezione guida attraverso come diagnosticare problemi di basso spazio e modi efficaci per risolverli passo dopo passo.

4.1 Riconoscere i Sintomi di Basso Spazio

Prima di tutto, identifica i segni che lo storage sta finendo. Cerca:

  • apt upgrade che segnala “non c’è abbastanza spazio libero”
  • Avviso GUI “lo spazio su disco è basso”
  • Applicazioni che falliscono nel salvare impostazioni o scrivere log
  • /var o /tmp che si riempiono, causando un comportamento lento

Quando vedi questi, è il momento di determinare dove lo spazio viene utilizzato, non solo di aggiungerne di più.

4.2 Passo 1: Ottieni una Panoramica dell’Utilizzo (df)

Inizia con df -h per vedere la capacità complessiva:

df -h

Output di esempio:

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda2        50G   48G  1.2G  98% /
/dev/sda1       512M  120M  392M  24% /boot

Qualsiasi punto di mount con Use% ≥ 90% necessita attenzione, specialmente /, /var o /home.

4.3 Passo 2: Trova Quali Directory Consuma Spazio (du)

Una volta che conosci la partizione problematica, approfondisci con du.

Esempio: Mostra i Primi 10 Elementi che Consumano Spazio

sudo du -hsx /* | sort -rh | head -10

Output di esempio:

15G /var
10G /home
5.2G /usr
3.1G /snap

Un /var grande di solito indica log o cache; un /home grande indica dati utente.

Approfondisci all’Interno di /var

sudo du -hsx /var/* | sort -rh | head -10

Traversando la gerarchia, puoi identificare le directory esatte che stanno occupando spazio.

4.4 Passo 3: Rimuovi File e Cache Non Necessari

Dopo aver identificato i colpevoli, inizia a pulire gli elementi sicuri da eliminare.

(1) Pulisci la Cache APT

Ubuntu memorizza file di pacchetti temporanei in /var/cache/apt/archives. Eliminarli può liberare diversi gigabyte.

sudo apt clean
sudo apt autoremove
  • apt clean – rimuove tutti i file di pacchetti memorizzati in cache
  • apt autoremove – rimuove i pacchetti che non sono più necessari

(2) Elimina Vecchi File di Log

/var/log è una fonte comune di gonfiore.

sudo journalctl --vacuum-time=7d

Il comando sopra elimina i log di sistema più vecchi di 7 giorni.
Puoi anche eliminare manualmente file .gz (log compressi) non necessari.

sudo rm -f /var/log/*.gz

(3) Rimuovi Vecchie Versioni di Pacchetti Snap

Su Ubuntu, le vecchie versioni delle app Snap vengono mantenute automaticamente.
Puoi eliminare le vecchie snap con il comando seguente.

sudo snap list --all | grep disabled | awk '{print $1, $3}' | 
while read snapname revision; do
  sudo snap remove "$snapname" --revision="$revision"
done

*In alternativa, puoi utilizzare un’utilità semplice di tipo “Pulitore Snap”. *

(4) Elimina la Cache delle Miniature

Se lavori con molte immagini o video, una grande quantità di cache si accumula in ~/.cache/thumbnails.

rm -rf ~/.cache/thumbnails/*

(5) Svuota il Cestino

I file eliminati tramite GUI potrebbero ancora risiedere in ~/.local/share/Trash/files.

rm -rf ~/.local/share/Trash/*

4.5 Passo 4: Mitigare il Gonfiore da Applicazioni e Log

(1) Quando si Usa Docker

Quando usi Docker, immagini e container non necessari possono consumare spazio.

docker system df
docker system prune -a
  • docker system df : Controlla l’utilizzo relativo a Docker
  • docker system prune -a : Rimuovi immagini e container non utilizzati

(2) Quando si utilizza intensamente Flatpak o Snap

In ambienti con molte applicazioni GUI installate, tendono ad accumularsi artefatti residui delle app (versioni vecchie).
Pulire con comandi come flatpak uninstall --unused.

(3) Rivedi le impostazioni di rotazione dei log

Controlla /etc/logrotate.conf e /etc/logrotate.d/, e imposta periodi di conservazione appropriati e limiti di dimensione per aiutare a prevenire la ricorrenza.

4.6 Passo 5: Risolvere fondamentalmente ridimensionando o aggiungendo dischi

Se eliminare i file da solo non è sufficiente, considera i seguenti cambiamenti di configurazione.

(1) Quando si utilizza LVM

In ambienti con LVM (Logical Volume Manager), i volumi logici possono essere espansi facilmente.

sudo lvextend -L +20G /dev/ubuntu-vg/ubuntu-lv
sudo resize2fs /dev/ubuntu-vg/ubuntu-lv

Questo ti permette di aumentare la capacità di /.

(2) Aggiungi un nuovo disco e montalo

Monta nuova storage su /mnt/data (o simile), e sposta directory grandi (es. /var/lib/docker o /home) lì.

(3) Sfrutta lo storage cloud

Spostare log e backup su Google Drive, Dropbox, Nextcloud, ecc., è un’altra opzione.

4.7 Controlli regolari per prevenire la ricorrenza

Finire lo spazio è un problema che può essere evitato con monitoraggio regolare.
Adottare le seguenti pratiche è efficace.

  • Controlla regolarmente df -h e du -sh /var
  • Crea uno script per controllare automaticamente directory grandi
  • Imposta notifiche email quando l’utilizzo supera le soglie ( cron + mailutils , ecc.)

Esempio semplice:

#!/bin/bash
THRESHOLD=90
USAGE=$(df / | awk 'NR==2 {print $5}' | sed 's/%//')
if [ "$USAGE" -gt "$THRESHOLD" ]; then
  echo "Disk usage on / has exceeded ${THRESHOLD}%!" | mail -s "Disk Alert" admin@example.com
fi

4.8 Riassunto: Prioritizzare le misure di risparmio spazio

PriorityMeasureNotes
★★★★★Delete APT cache (sudo apt clean)Immediate effect
★★★★☆Delete logs (sudo journalctl --vacuum-time=7d)Safe and reliable
★★★★☆Remove unnecessary Snap/Flatpak versionsEffective on desktop environments
★★★☆☆Delete unnecessary Docker dataUseful for server use
★★☆☆☆Disk expansion / mount additionEffective as a root solution
★☆☆☆☆Implement regular monitoring scriptsBenefits over long‑term operation

Quando Ubuntu sta per finire lo spazio,
Identifica i grandi consumatori → Elimina da aree sicure → Rivedi la configurazione
Seguire questi tre passi risolve la maggior parte dei problemi.

5. Consigli avanzati (Trucchi utili & Avvertenze)

Anche dopo aver usato i metodi sopra per controllare e pulire lo spazio, il disco può riempirsi di nuovo nel tempo.
Ecco alcune tecniche avanzate per mantenere Ubuntu funzionante senza intoppi.

5.1 Automatizza i controlli regolari del disco

Eseguire df o du manualmente è tedioso, ma script di automazione possono ridurre lo sforzo.
Registra uno script di monitoraggio semplice in cron per inviare avvisi quando l’utilizzo supera una soglia.

Esempio: Script che invia email quando lo spazio libero scende sotto il 10%

#!/bin/bash
THRESHOLD=90
USAGE=$(df / | awk 'NR==2 {print $5}' | sed 's/%//')
if [ "$USAGE" -gt "$THRESHOLD" ]; then
  echo "Warning: Root disk usage has reached ${USAGE}%." |
  mail -s "Ubuntu Disk Warning" user@example.com
fi

Salva questo come /usr/local/bin/check_disk.sh e rendilo eseguibile con chmod +x.
Poi registralo in crontab -e così:

0 8 * * * /usr/local/bin/check_disk.sh

→ Il controllo si esegue automaticamente ogni mattina alle 8 AM.

Punti utili

  • Le notifiche possono anche essere inviate via Slack Webhook, LINE Notify, ecc.
  • Può essere esteso per monitorare più punti di mount contemporaneamente

5.2 One-liner per trovare file grandi

Spesso, una carenza è causata da pochi file enormi.
Il seguente one-liner elenca file più grandi di 1 GB.

sudo find / -type f -size +1G -exec ls -lh {} ; | awk '{print $9 ": " $5}'
/var/log/syslog.1: 1.5G
/var/lib/docker/overlay2/.../diff/usr/lib/libchrome.so: 2.3G
/home/user/Downloads/video.mp4: 4.1G

In questo modo, puoi trovare rapidamente file che dovrebbero essere eliminati o spostati.

Esempio: Cerca solo directory specifiche

sudo find /var -type f -size +500M

→ Utile per trovare file più grandi di 500 MB sotto /var.

5.3 Alias per comandi usati frequentemente

Digiditare comandi lunghi ogni volta è tedioso, quindi impostare alias è efficiente.

Esempio: Aggiungi a ~/.bashrc

alias dfh='df -h --total'
alias duh='sudo du -hsx /* | sort -rh | head -10'
alias logs='sudo du -hs /var/log/* | sort -rh | head -10'

Applica dopo l’impostazione:

source ~/.bashrc

Ora,

  • dfh → Controlla la capacità totale
  • duh → Visualizza le prime 10 cartelle
  • logs → Indaga le dimensioni dei log

Puoi eseguire queste operazioni istantaneamente.

5.4 Monitorare continuamente le variazioni dell’uso del disco (monitoraggio)

Quando si utilizza Ubuntu a lungo termine, si può incorrere nel problema dello “spazio su disco che aumenta silenziosamente”.
Pertanto, registrare le variazioni dell’uso del disco come cronologia è utile.

Esempio: Script per registrare l’uso del disco su un file

#!/bin/bash
df -h / | awk 'NR==2 {print strftime("%Y-%m-%d %H:%M:%S"), $3, $4, $5}' >> /var/log/disk_usage.log

Eseguendolo una volta al giorno tramite cron ti permette di tracciare le tendenze dell’uso del disco in seguito.

Metodi più avanzati

  • Installa collectd o netdata per la creazione di grafici
  • Usa Prometheus + Grafana per la visualizzazione del monitoraggio
  • Quando su cloud, integra con AWS CloudWatch o GCP Ops Agent

Puoi monitorare a livello di gestione operativa senza fare affidamento su strumenti GUI.

5.5 Attenzione alle barriere di permesso

Quando controlli o elimini l’uso del disco, potresti non ottenere risultati accurati senza privilegi di root.

Esempio:

du -sh /var

Anche se esegui questo, un utente normale avrà alcune cartelle saltate con “Permission denied”, risultando in un valore più basso rispetto all’uso reale.

→ Come contromisura, anteponi sudo o opera con diritti amministrativi.

5.6 Considerazioni per ambienti SSD/HDD

Ambienti SSD

  • Per evitare scritture inutili, esegui regolarmente TRIM con fstrim : sudo systemctl enable fstrim.timer Questo consente all’SSD di ottimizzare i blocchi eliminati.

Ambienti HDD

  • Log e cache tendono a frammentarsi, quindi riavviare dopo aver eliminato file non necessari può essere efficace.
  • Eseguire comandi du ad alta intensità I/O è consigliato durante periodi di basso carico, come a tarda notte.

5.7 Sistemare la gestione della capacità per prevenire ricorrenze

Infine, la soluzione ottimale per la gestione della capacità è abituale e sistematica.

Checklist pratica

  • Controlla regolarmente df -h
  • Verifica la crescita di /var/log mensilmente
  • Esegui apt autoremove settimanalmente
  • Elimina periodicamente dati Snap e Docker non necessari
  • Mantieni uno script di notifica automatizzato attivo

Se esegui queste operazioni regolarmente, la maggior parte dei problemi di spazio su disco può essere prevenuta.

Riepilogo

Questa sezione ha introdotto tecniche avanzate per rendere la gestione dello spazio su disco di Ubuntu più efficiente.
I punti chiave sono tre:

  1. Rilevamento precoce tramite automazione e notifiche
  2. Efficienza operativa tramite alias e one‑liner
  3. Gestione sicura considerando permessi e caratteristiche del dispositivo

Combinando questi elementi, la gestione della capacità si trasforma da un compito noioso a una parte integrante delle operazioni di sistema.

6. FAQ (Domande Frequenti)

Q1. Qual è un modo semplice per controllare lo spazio libero attuale su Ubuntu?

Il modo più semplice è eseguire il seguente comando in un terminale.

df -h

Questo comando mostra per ogni unità (partizione) dimensione totale, spazio usato e spazio libero a colpo d’occhio.
Aggiungendo l’opzione -h le dimensioni vengono visualizzate in formato leggibile (GB, MB).

Q2. Come posso controllare l’uso del disco per directory?

Usa il comando du.
Per controllare l’uso di una cartella specifica, esegui:

du -sh /home

Significato delle opzioni:

  • -s : visualizza solo il totale
  • -h : mostra le dimensioni in unità leggibili

Per un utilizzo più dettagliato per cartella, usa:

sudo du -h --max-depth=1 /var

Q3. Qual è la differenza tra df e du?

In breve, misurano cose

CommandTargetPrimary Use
dfEntire filesystemCheck free space
duFile/directory levelFind where space is used

Ad esempio, usa df per vedere lo spazio libero complessivo su /, e usa du per vedere quanto occupa una cartella specifica.

Q4. Come posso controllare lo spazio libero tramite l’interfaccia grafica?

Su Ubuntu Desktop, puoi verificare visivamente usando il File Manager (Nautilus) o Disk Usage Analyzer (Baobab).

  • File Manager → La barra inferiore mostra “Rimanenti XX GB”
  • Baobab → Suddivisione grafica dell’uso

Entrambi sono adatti ai principianti e mostrano i risultati con un solo clic.

Q5. Se ricevo un avviso di “disco pieno cosa dovrei eliminare per primo?

Inizia rimuovendo le cache sicure e i file non necessari.
L’ordine consigliato è:

  1. Pulisci cache APT sudo apt clean
  2. Rimuovi pacchetti non necessari sudo apt autoremove
  3. Pulisci log sudo journalctl --vacuum-time=7d
  4. Svuota cestino e cache miniature rm -rf ~/.cache/thumbnails/* && rm -rf ~/.local/share/Trash/*

Questi passaggi da soli possono liberare diversi gigabyte.

Q6. Ho sentito che le app Snap possono gonfiare lo spazio su disco. Cosa posso fare?

Snap mantiene ogni versione di un’app, quindi le vecchie revisioni potrebbero rimanere.
Puoi eliminare le vecchie revisioni non necessarie con il seguente comando:

sudo snap list --all | grep disabled | awk '{print $1, $3}' | 
while read snapname revision; do
  sudo snap remove "$snapname" --revision="$revision"
done

In alternativa, puoi rimuoverle manualmente usando lo strumento GUI Snap Store.

Q7. Cosa dovrei fare quando /var o /home è troppo grande?

  • /var – pulisci log ( /var/log ) e cache ( /var/cache )
  • /home – fai backup o sposta file di download e video su storage esterno

Se hai bisogno di aumentare la capacità, puoi espandere il volume con LVM o montare un nuovo disco e gestire lo spazio separatamente.

Q8. Eseguire du richiede molto tempo. C’è un modo per velocizzarlo?

du scansiona ogni file ricorsivamente, quindi può essere lento su directory con molti elementi.
I seguenti trucchi possono aiutare:

  • Usa --max-depth=1 per saltare sottodirectory profonde
  • Escludi cartelle non necessarie (es., --exclude=/proc )
  • Usa il comando ncdu (vista interattiva)
    sudo apt install ncdu
    sudo ncdu /
    

ncdu sembra leggero e fornisce un modo visivo per ispezionare l’uso del disco.

Q9. Come posso prevenire di rimanere senza spazio di nuovo?

La manutenzione regolare aiuta molto:

  • Esegui sudo apt autoremove una volta alla settimana
  • Controlla l’uso di /var/log e /home mensilmente
  • Salva l’output di df -h in un log e traccia i cambiamenti
  • Elimina periodicamente vecchi dati Snap o Docker
  • Su SSD, abilita il trimming automatico con sudo systemctl enable fstrim.timer

Automatizzare questi compiti può tenere lontani i problemi di spazio su disco.

Q10. Quali sono le mie opzioni per espandere lo storage?

Ci sono tre approcci comuni:

  1. Estendi il volume LVM

    bash sudo lvextend -L +10G /dev/ubuntu-vg/ubuntu-lv sudo resize2fs /dev/ubuntu-vg/ubuntu-lv 2. Aggiungi un nuovo disco e montalo – crea un punto di mount come /mnt/data e distribuisci il carico. 3. Usa storage cloud – sposta file grandi su Google Drive, Nextcloud, ecc.

Se aggiungere storage fisico non è fattibile, archiviare vecchi file è anche efficace.

Q11. Posso controllare l’uso del disco senza privilegi root?

Il basic df -h funziona per qualsiasi utente, ma du ha bisogno di permessi per leggere certe directory (es., /var/log).
In un ambiente non-root, limita la scansione alla tua directory home:

du -sh ~/*

Q12. Come controllo lo storage su un sistema headless (server)?

Poiché l’edizione server di Ubuntu manca di una GUI, usa questi comandi invece:

GoalCommand
Check overall usagedf -h
Check per‑directory usagesudo du -hsx /*
Find large filessudo find / -type f -size +1G
Visual, text‑based viewsudo ncdu /

Combinandoli ti permette di analizzare l’uso del disco comodamente senza GUI.

Q13. C’è qualche rischio di rompere il sistema mentre controllo lo storage?

Semplicemente controllare l’uso non comporta rischi.
Tuttavia, fai attenzione quando inizi a eliminare o ridimensionare:

  • Controlla due volte i percorsi prima di usare sudo rm -rf
  • Non eliminare mai directory di sistema come /bin , /lib , o /etc
  • Se non sei sicuro, fai prima un backup

Q14. Qualche trucco nascosto per risparmiare spazio?

  • Accorcia la ritenzione dei log (impostazioni /etc/logrotate.conf)
  • Rimuovi pacchetti lingua non necessari: sudo apt install localepurge
  • Purgare vecchi kernel (a volte rimangono): sudo apt autoremove --purge

Questi passaggi possono liberare da qualche centinaio di MB a diversi GB.

Q15. Strumenti raccomandati per monitorare l’uso del disco?

Ubuntu offre diversi strumenti di monitoraggio utili:

ToolFeatures
ncduLightweight, fast CLI explorer
BaobabGUI with visual charts
dufEnhanced df with a clean table layout
Netdata / Prometheus / GrafanaFull‑stack server monitoring and graphing

Summary

I punti chiave per gestire lo spazio su disco su Ubuntu sono:

  1. Usa df per una visione generale e du per un’ispezione dettagliata
  2. Elimina i dati non necessari in un ordine sicuro (APT → log → cache)
  3. Automatizza la pulizia e il monitoraggio per prevenire ricorrenze

Rendendo queste pratiche di routine, i problemi di spazio su disco diventano rari. Gestire lo storage può sembrare banale, ma è uno dei compiti di manutenzione più critici per un sistema Ubuntu stabile.

侍エンジニア塾