Come controllare lo spazio su disco in Ubuntu: Guida completa con df, du, interfaccia grafica e tecniche di pulizia

目次

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

Quando si controlla lo spazio su disco su Ubuntu (e sulla maggior parte dei sistemi operativi basati su Linux), ci sono diversi concetti strutturali fondamentali che devono essere compresi correttamente. Questa sezione organizza i seguenti concetti che spesso causano confusione:

  • Il significato di dispositivi e partizioni
  • Montaggio e punti di mount
  • Le basi di LVM (Logical Volume Management)
  • Configurazioni di archiviazione tipiche in Ubuntu

Spiegheremo ciascuno di questi passo per passo.

1.1 Nozioni di Base su Dispositivi e Partizioni

Dispositivi (Dischi Fisici e Logici)

In Linux, ogni unità di archiviazione è gestita come un file di dispositivo. Ad esempio, HDD, SSD e unità USB sono rappresentati con nomi come /dev/sda, /dev/sdb o /dev/nvme0n1.
Il suffisso alfabetico (a, b, c, ecc.) indica l’ordine in cui il sistema ha rilevato i dispositivi.

Partizioni

Un singolo dispositivo fisico può essere usato così com’è, ma nella maggior parte dei casi viene suddiviso in più aree logiche chiamate partizioni. Il partizionamento consente di gestire separatamente il sistema operativo, i dati degli utenti e i log.

Ad esempio, /dev/sda1 e /dev/sda2 rappresentano partizioni. Questi nomi significano “partizione 1 / partizione 2 sul dispositivo sda.”
Un filesystem viene creato su ogni partizione e i dati reali vengono memorizzati lì.
(Spiegazione di esempio delle partizioni Linux: Engineer’s Entrance)

Le partizioni utilizzano formati come MBR (più vecchio) o GPT (più recente), ognuno con limitazioni e vantaggi diversi.

1.2 Montaggio e Punti di Mount

Montaggio

Per rendere un filesystem utilizzabile, è necessario un processo chiamato montaggio. Questa operazione associa una partizione (o volume logico) a una directory specifica (punto di mount).
Senza il montaggio, i dati sulla partizione non possono essere accessi.

Ad esempio, anche se esiste un filesystem ext4 su /dev/sda1, non è possibile accedere al suo contenuto sotto /mnt/data a meno che non si esegua un comando come mount /dev/sda1 /mnt/data.

Punti di Mount

La directory a cui è collegato un filesystem è chiamata punto di mount.
Esempi tipici includono:

  • / (slash): Directory radice (punto di partenza dell’intero sistema)
  • /home: Posizione per le directory home degli utenti
  • /var: Posizione per log, cache e dati variabili
  • /boot: Posizione per i file relativi all’avvio

In Ubuntu e in molte distribuzioni Linux, il file /etc/fstab definisce quali dispositivi o UUID vengono montati in quali posizioni durante l’avvio del sistema.

1.3 Panoramica di LVM (Logical Volume Management)

Con il solo partizionamento tradizionale, può essere difficile modificare in modo flessibile la disposizione dei dischi in seguito. Per affrontare questo problema, Linux fornisce LVM (Logical Volume Manager).

Componenti Base di LVM

  • Physical Volume (PV) Un disco fisico o una partizione.
  • Volume Group (VG) Uno strato che combina più PV in un unico grande pool di archiviazione virtuale.
  • Logical Volume (LV) Un’area allocata logicamente creata da un VG. I filesystem vengono creati sui LV.

Questa struttura a strati consente di espandere o ridurre i volumi logici in seguito e rende facile aggiungere e integrare ulteriori dischi fisici.

Vantaggi e Considerazioni di LVM

Vantaggi

  • Ridimensionamento flessibile della capacità di archiviazione
  • Possibilità di combinare più dischi
  • Creazione facile di snapshot per scopi di backup

Considerazioni

  • Configurazione e operazione leggermente più complesse
  • Rischio di perdita dati se configurato in modo errato
  • Procedure di espansione diverse rispetto agli ambienti non LVM

Gli installer di Ubuntu spesso offrono un’opzione per utilizzare LVM, ma non è obbligatorio e dipende dall’uso e dalla politica di gestione.

1.4 Configurazioni di Archiviazione Tipiche in Ubuntu

Configurazione a Partizione Singola (Setup Semplice)

Nella configurazione più semplice, tutto è collocato sotto la directory radice (/). Questo approccio è facile da gestire inizialmente, ma in seguito l’espansione o la separazione può risultare difficile.

Configurazione Multi‑Partizione Comune

Una disposizione comunemente usata divide lo storage in più partizioni, ad esempio:

  • / (root): File di sistema core
  • /home : Dati dell’utente
  • /var : Log e dati variabili
  • /boot : File di avvio
  • Area di swap (partizione o file di swap)

Questa struttura aiuta a impedire che log o cache sovraccarichino l’intero sistema.

Configurazione di Volume Logico Basata su LVM

Una configurazione più avanzata utilizza LVM come segue:

  • Dischi fisici → PV
  • Più PV combinati in un VG
  • Volumi logici creati per /, /home, /var, ecc.
  • È possibile espandere o aggiungere nuovi LV in futuro

Questo approccio offre grande flessibilità quando si aggiungono dischi o si espande lo storage.

2. Metodi di Base da Linea di Comando per Controllare lo Spazio su Disco

Su Ubuntu, l’uso di strumenti da linea di comando è il modo più affidabile e flessibile per verificare l’utilizzo del disco.
I comandi consentono un’analisi precisa anche in ambienti server senza interfaccia grafica.

Questa sezione si concentra sui comandi fondamentali df e du, insieme agli strumenti di supporto.

2.1 Controllare l’Utilizzo del Filesystem con il Comando df

Panoramica di df

df (disk free) mostra l’utilizzo complessivo del disco e lo spazio disponibile per i filesystem.
È il modo più comune per verificare la capacità del disco su sistemi Linux, inclusi Ubuntu.

Uso Base

df -h

Questo comando elenca tutti i filesystem usando unità leggibili dall’uomo (K, M, G).
Le colonne principali significano quanto segue:

Spiegazione delle Colonne Principali

ColumnDescription
FilesystemTarget device name (e.g., /dev/sda1)
SizeTotal filesystem size
UsedUsed disk space
AvailRemaining available space
Use%Usage percentage
Mounted onMount point (e.g., /, /home)

Opzioni Comunemente Usate

OptionDescription
-hDisplay sizes in MB / GB (essential for readability)
-TAlso display filesystem type (ext4, xfs, etc.)
--totalAdd a total summary line at the end
df -h /homeDisplay only the filesystem containing a specific directory

Esempio di Esecuzione

$ 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

Questo output ti permette di capire rapidamente come lo spazio su disco è allocato e utilizzato.

Note Importanti

  • Le partizioni smontate non sono mostrate da df.
  • I pacchetti Snap (ad es., /var/lib/snapd/snaps) possono consumare spazio su disco significativo e dovrebbero essere controllati separatamente.
  • Alcuni punti di mount sono visibili solo quando si esegue con privilegi di root.

2.2 Controllare l’Utilizzo delle Directory con il Comando du

Panoramica di du

du (disk usage) misura l’utilizzo dello spazio su disco da parte di directory e file.
Mentre df fornisce una panoramica ad alto livello, du è ideale per identificare dove lo spazio su disco è effettivamente consumato.

Uso Base

du -sh /home

Questo comando visualizza l’utilizzo totale del disco della directory /home in un formato leggibile dall’uomo.

Opzioni Comunemente Usate

OptionDescription
-sShow only the summary total
-hAutomatically convert units for readability
--max-depth=1List usage of directories directly under the specified path
-cDisplay a grand total at the end
--exclude=PATTERNExclude specific directories (e.g., caches)

Esempio: Confrontare le Dimensioni delle Directory

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 rende facile identificare quali directory consumano più spazio.

Uso Avanzato: Ordinare per Dimensione

Combinando du con sort, è possibile identificare rapidamente le directory più grandi.

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

Questo comando calcola l’utilizzo del disco per le directory direttamente sotto la directory radice e mostra le 10 più grandi.

Note Importanti

  • L’esecuzione può richiedere tempo per gerarchie di directory profonde.
  • Senza privilegi di root, l’utilizzo del disco per alcune directory potrebbe non essere visualizzato correttamente.
  • Anche su SSD veloci, la scansione di decine di gigabyte può richiedere diversi minuti.

2.3 Altri Comandi e Strumenti di Supporto Utili

lsblk: Visualizzare la Struttura dei Dispositivi a Blocchi

lsblk

lsblk mostra i dispositivi disco e la loro disposizione di partizione in formato ad albero.
È utile per comprendere visivamente come dispositivi, partizioni e punti di mount sono correlati tra loro.

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 desideri un’alternativa più intuitiva a du, ncdu (NCurses Disk Usage) è altamente raccomandato.

Installazione:

sudo apt install ncdu

Lancio:

sudo ncdu /

Puoi navigare nelle directory usando i tasti freccia e identificare interattivamente i punti caldi di utilizzo del disco.
Questo strumento è particolarmente popolare tra gli amministratori di sistema per ambienti server.

Combinazione con il comando find

Per localizzare file individuali grandi, usa find:

sudo find / -type f -size +1G

Questo comando cerca tutti i file più grandi di 1GB, utile per identificare log grandi o immagini di disco.

2.4 Scegliere il Metodo Giusto (Riepilogo del Confronto)

PurposeCommand ExampleCharacteristics
Check overall free disk spacedf -hFilesystem-level overview
Check a specific directorydu -sh /pathDetailed size measurement
Find disk usage hotspotsdu -hsx /* | sort -rhQuick identification of large directories
View device and partition layoutlsblkVisual representation of structure
Find large filesfind / -type f -size +1GFilter by file size

3. Controllo dello Spazio su Disco Usando Strumenti GUI (Desktop Ubuntu)

Ubuntu fornisce comodi strumenti grafici (GUI) che ti permettono di controllare lo spazio su disco senza usare il terminale.
Questa sezione introduce i seguenti due metodi principali:

  • Usando il gestore di file predefinito (Nautilus)
  • Usando l’Analizzatore di Utilizzo Disco (Baobab)

3.1 Controllo dello Spazio Disponibile con il Gestore di File (Nautilus)

Metodo Standard in Ubuntu

Sul Desktop Ubuntu, il modo più semplice per controllare lo spazio su disco è aprire il gestore di file (Nautilus).

  1. Clicca sull’icona “File” nel dock sinistro (lanciatore di applicazioni)
  2. Controlla la barra di stato visualizzata in alto a destra o in basso a sinistra
  3. Lo spazio su disco rimanente è mostrato come “XX GB liberi” o “XX GB usati su YY GB”

Questo ti permette di verificare rapidamente lo spazio disponibile sull’unità di sistema.

Visualizzazione Dettagli tramite Proprietà

Tasto destro su una cartella o icona di unità e seleziona [Properties] per visualizzare informazioni dettagliate sull’utilizzo per quella cartella o volume specifico.

Questo è particolarmente utile per controllare visivamente la dimensione di directory come /home o /Downloads.

Vantaggi e Limitazioni

AdvantagesLimitations
Simple, click-based operationDifficult to analyze system-wide or hidden areas
Beginner-friendlyHard to detect growth in /var/log or system directories

Sebbene utile per una panoramica rapida, un’analisi più profonda è meglio gestita con lo strumento Baobab descritto di seguito.

3.2 Analizzatore di Utilizzo Disco (Baobab)

Cos’è Baobab?

Baobab (ufficialmente chiamato Disk Usage Analyzer) è uno strumento grafico incluso in Ubuntu che visualizza l’utilizzo del disco usando grafici a torta e mappe ad albero.

È spesso installato per impostazione predefinita, ma se non lo è, può essere installato con il seguente comando:

sudo apt install baobab

Come Lanciare Baobab

  1. Cerca “Utilizzo disco” in Activities (ricerca in alto a sinistra)
  2. Clicca su “Disk Usage Analyzer (Baobab)” per lanciare
  3. Dopo l’avvio, seleziona “Scansiona Cartella” o “Scansiona Filesystem”

Una volta completata la scansione, l’utilizzo del disco è visualizzato graficamente usando un grafico a torta o vista ad albero.

Esempio di Visualizzazione (Concettuale)

  • Gli anelli esterni rappresentano livelli di directory più profondi
  • La dimensione dell’area corrisponde all’utilizzo del disco

Questo rende facile identificare istantaneamente quali cartelle consumano più spazio.

Funzionalità Principali

FeatureDescription
Target SelectionScan specific directories such as /home
Tree ViewView folder hierarchy and sizes in a list format
Identifying Unnecessary FilesQuickly spot large directories at a glance
Right-click → OpenOpen the corresponding directory directly in the file manager

Vantaggi e Avvertenze

Vantaggi

  • Visualizzazione grafica intuitiva adatta ai principianti
  • Decisioni più facili per la pulizia e l’organizzazione dei file
  • Le directory di sistema possono essere analizzate quando lanciato con privilegi root

Avvertenze

  • La scansione dell’intero filesystem potrebbe richiedere tempo
  • Restrizioni di permesso potrebbero impedire la misurazione accurata di alcune cartelle
  • Dischi grandi potrebbero richiedere memoria significativa durante l’analisi

3.3 Controllo delle Informazioni sul Disco con GNOME Disks

Ubuntu include anche un’applicazione standard chiamata GNOME Disks (Disk Utility).
Questo strumento è usato per ispezionare la struttura del disco stessa, piuttosto che solo lo spazio disponibile.

Puoi visualizzare le seguenti informazioni:

  • Nomi dei dispositivi (es., /dev/sda)
  • Tipi di filesystem (ext4, NTFS, ecc.)
  • Punti di mount
  • Grafici di utilizzo e spazio disponibile

Come lanciare:

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

L’utilizzo del disco è visualizzato usando indicatori visivi, fornendo informazioni equivalenti al comando df in forma grafica.

3.4 Scelta Tra Strumenti GUI e a Riga di Comando

Su Ubuntu Desktop, gli strumenti GUI da soli sono sufficienti per la gestione di base dello spazio su disco.
Tuttavia, per il risoluzione dei problemi precisa e l’amministrazione del server, gli strumenti a riga di comando come df e du sono essenziali.

ScenarioRecommended Tool
Quickly check available spaceFile Manager (Nautilus)
Analyze which folders are largeBaobab (Disk Usage Analyzer)
Inspect disk and partition layoutGNOME Disks
Server or remote environmentsdf, du, lsblk, ncdu

3.5 Ambienti Senza GUI (Per Utenti Server)

Se stai eseguendo Ubuntu Server o un altro ambiente senza una GUI,
strumenti come Baobab o il gestore file non sono disponibili.

In tali casi, i comandi introdotti in precedenza df, du e ncdu forniscono un’analisi dettagliata dello spazio su disco utilizzando solo il terminale.

Riepilogo

L’utilizzo di strumenti GUI permette di completare i controlli sull’utilizzo del disco e l’analisi di pulizia interamente tramite clic.
Baobab, in particolare, è uno strumento standard ampiamente utilizzato adatto sia per principianti che per utenti avanzati.
Combinando i metodi introdotti in questa sezione, il monitoraggio di routine dello storage diventa significativamente più facile.

4. Indagine e Contromisure Quando lo Spazio su Disco È Basso

Quando si utilizza Ubuntu per periodi prolungati, lo spazio su disco può diventare gradualmente limitato a causa di aggiornamenti e dati accumulati.
Lasciare un sistema in uno stato di basso spazio può causare fallimenti negli aggiornamenti, problemi di logging e instabilità generale.

Questa sezione spiega le procedure passo-passo per identificare i problemi di spazio su disco e applicare soluzioni efficaci.

4.1 Identificazione dei Segni di Esaurimento dello Spazio su Disco

Prima di tutto, controlla i sintomi che indicano spazio su disco insufficiente.
Se incontri uno dei seguenti, è il momento di indagare sull’utilizzo dello storage:

  • apt upgrade riporta “spazio su disco insufficiente”
  • Avvisi GUI come “Basso spazio su disco” appaiono
  • Alcune applicazioni falliscono nel salvare impostazioni o scrivere log
  • Directory come /var o /tmp diventano piene, causando comportamento lento

In queste situazioni, liberare semplicemente spazio non è sufficiente—devi identificare dove lo spazio su disco viene consumato.

4.2 Passo 1: Controlla l’Utilizzo Complessivo del Disco (df)

Inizia controllando la situazione complessiva del disco utilizzando il comando df -h.

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 filesystem con un valore Use% sopra il 90% richiede attenzione immediata.
Se directory critiche come / (root), /var o /home sono quasi piene, procedi al passo successivo.

4.3 Passo 2: Identifica Quali Directory Stanno Consumando Spazio (du)

Una volta identificata la partizione interessata, analizza il suo contenuto utilizzando il comando du.

Esempio: Visualizza le 10 Directory Più Grandi

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

Output di esempio:

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

Se /var è grande, di solito i log o le cache sono responsabili. Se /home è grande, tipicamente i dati utente sono la causa.

Approfondimento Ulteriore All’Interno di /var

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

Traversando la gerarchia delle directory in questo modo, puoi individuare esattamente le directory che consumano spazio su disco.

4.4 Passo 3: Rimozione di File e Cache Non Necessari

Una volta identificate le fonti di utilizzo del disco, inizia la pulizia partendo da file non necessari sicuri da eliminare.

(1) Rimozione della Cache APT

Ubuntu memorizza file di pacchetti temporanei in /var/cache/apt/archives durante gli aggiornamenti.
Eliminandoli, spesso si può recuperare diversi gigabyte di spazio su disco.

sudo apt clean
sudo apt autoremove
  • apt clean : Rimuove tutti i file di pacchetti memorizzati in cache
  • apt autoremove : Rimuove pacchetti di dipendenze non utilizzati

(2) Eliminazione di Vecchi File di Log

/var/log è una delle cause più comuni di gonfiore dello spazio su disco.

sudo journalctl --vacuum-time=7d

Questo rimuove i log di sistema più vecchi di sette giorni.
Puoi anche eliminare manualmente file di log compressi non necessari (.gz).

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

(3) Rimozione di Vecchie Revisioni di Pacchetti Snap

Su Ubuntu, le applicazioni Snap mantengono più versioni per impostazione predefinita.
Le revisioni disabilitate più vecchie possono essere rimosse usando 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, è possibile utilizzare utility dedicate come “Snap Cleaner”.

(4) Rimozione della cache delle miniature

Se gestisci frequentemente immagini o video, grandi quantità di cache possono accumularsi in ~/.cache/thumbnails.

rm -rf ~/.cache/thumbnails/*

(5) Svuotare il Cestino

I file eliminati tramite l’interfaccia grafica sono spesso ancora conservati in ~/.local/share/Trash/files.

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

4.5 Passo 4: Gestire la crescita del disco legata ad applicazioni e log

(1) Ambienti Docker

Se Docker è in uso, immagini e container inutilizzati consumano spesso spazio disco significativo.

docker system df
docker system prune -a
  • docker system df : Controlla l’utilizzo disco relativo a Docker
  • docker system prune -a : Rimuove immagini e container inutilizzati

(2) Uso intensivo di Flatpak o Snap

Gli ambienti desktop con molte applicazioni GUI tendono ad accumulare dati residui da versioni precedenti.
Usa comandi come flatpak uninstall --unused per pulire.

(3) Revisione delle impostazioni di rotazione dei log

Controlla /etc/logrotate.conf e i file sotto /etc/logrotate.d/ per assicurarti che i periodi di conservazione e i limiti di dimensione dei log siano configurati correttamente.
Questo aiuta a prevenire futuri problemi di spazio disco.

4.6 Passo 5: Risolvere la causa principale con ridimensionamento o espansione del disco

Se la pulizia da sola non è sufficiente, considera i seguenti cambiamenti strutturali.

(1) Espansione dei volumi logici con LVM

In ambienti che utilizzano 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

Ciò aumenta lo spazio disponibile del filesystem root.

(2) Aggiunta e montaggio di un nuovo disco

Puoi montare un nuovo dispositivo di archiviazione in directory come /mnt/data,
e spostare directory di grandi dimensioni (ad es. /var/lib/docker o /home) sul nuovo disco.

(3) Utilizzo di storage cloud

Un’altra opzione è spostare log o backup su servizi di storage cloud come Google Drive, Dropbox o Nextcloud.

4.7 Prevenire il ripetersi con monitoraggio regolare

Le carenze di spazio disco sono prevenibili con un monitoraggio regolare.
Le seguenti pratiche operative sono efficaci:

  • Controlla regolarmente df -h e du -sh /var
  • Crea script per rilevare automaticamente directory di grandi dimensioni
  • Invia avvisi email quando l’utilizzo del disco supera una soglia definita (usando cron e mailutils)

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 Riepilogo: Ordine di priorità per le contromisure di spazio disco

PriorityCountermeasureNotes
★★★★★Remove APT cache (sudo apt clean)Immediate effect
★★★★☆Log cleanup (sudo journalctl --vacuum-time=7d)Safe and reliable
★★★★☆Remove unused Snap / Flatpak versionsEffective on desktop systems
★★★☆☆Remove unused Docker dataEffective for server use
★★☆☆☆Disk expansion or additional mountsEffective as a fundamental solution
★☆☆☆☆Introduce monitoring scriptsMost effective for long-term operations

Quando lo spazio disco diventa limitato su Ubuntu,
“identifica l’uso intensivo → rimuovi in sicurezza i dati non necessari → rivedi la struttura del sistema”
Seguendo questo approccio in tre fasi si risolvono la maggior parte dei problemi.

5. Suggerimenti avanzati (Tecniche utili e precauzioni)

Anche dopo aver padroneggiato i controlli di base dello spazio disco e i metodi di pulizia, l’utilizzo del disco può aumentare gradualmente durante un funzionamento a lungo termine.
Questa sezione presenta tecniche avanzate per mantenere i sistemi Ubuntu funzionanti senza intoppi.

5.1 Automazione dei controlli regolari del disco

Eseguire manualmente df e du può risultare noioso, ma gli script di automazione riducono notevolmente lo sforzo.
Registrando uno script di monitoraggio semplice con cron, è possibile ricevere avvisi quando l’utilizzo del disco supera un certo livello.

Esempio: Notifica 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 "Attenzione: l'utilizzo del disco root ha raggiunto ${USAGE}%." | \
  mail -s "Avviso Disco Ubuntu" user@example.com
fi

Save this as /usr/local/bin/check_disk.sh and grant execute permission with chmod +x.
Then register it using crontab -e:

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

→ This runs the check automatically every morning at 8:00.

Helpful Enhancements

  • Notifications can be sent not only by email but also via Slack webhooks or LINE Notify
  • The script can be extended to monitor multiple mount points simultaneously

5.2 One-Liners to Find Large Files

Disk space shortages are often caused by a single large file.
The following one-liner lists all files larger than 1GB:

sudo find / -type f -size +1G -exec ls -lh {} \; | awk '{print $9 ": " $5}'

Example output:

/var/log/syslog.1: 1.5G
/var/lib/docker/overlay2/.../diff/usr/lib/libchrome.so: 2.3G
/home/user/Downloads/video.mp4: 4.1G

This allows you to quickly identify files that should be deleted or moved.

Variation: Search Only a Specific Directory

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

This is useful when investigating large files under /var.

5.3 Creating Aliases for Frequently Used Commands

Typing long commands repeatedly is inefficient, so setting up aliases improves productivity.

Example: Add to ~/.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'

Apply the changes:

source ~/.bashrc

After this, you can quickly run:

  • dfh : Check total disk usage
  • duh : Show top 10 largest directories
  • logs : Analyze log directory usage

5.4 Continuously Monitoring Disk Usage Changes

During long-term Ubuntu operation, disk usage can grow unnoticed.
Keeping a history of disk usage is an effective countermeasure.

Example: Log Disk Usage to a File

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

Running this daily via cron allows you to track growth trends over time.

More Advanced Approaches

  • Visualize usage with collectd or netdata
  • Use Prometheus + Grafana for enterprise monitoring
  • Integrate with AWS CloudWatch or GCP Ops Agent in cloud environments

5.5 Be Aware of Permission Barriers

Accurate disk analysis may require root privileges.

Example:

du -sh /var

Without sufficient permissions, some directories may be skipped with “Permission denied,”
resulting in smaller reported sizes than actual usage.

→ Use sudo or administrative privileges when performing system-wide analysis.

5.6 Considerations for SSD and HDD Environments

SSD Environments

  • Enable regular TRIM operations to avoid unnecessary writes: sudo systemctl enable fstrim.timer This allows SSDs to optimize deleted blocks automatically.

HDD Environments

  • Log and cache fragmentation may occur more easily, so rebooting after cleanup can be effective
  • Run I/O-intensive commands such as du during low-load periods (e.g., late at night)

5.7 Turning Disk Management into a Preventive System

The optimal approach to disk management is habitual and systematic prevention.

Practical Checklist

  • Regularly check df -h
  • Review /var/log growth monthly
  • Run apt autoremove weekly
  • Clean up unused Snap and Docker data regularly
  • Enable automated alert scripts

By following these practices, most disk space issues can be prevented in advance.

Summary

This section introduced advanced techniques for efficient disk management on Ubuntu.
The key points are:

  1. Rilevamento precoce tramite automazione e avvisi
  2. Efficienza migliorata usando alias e one‑liner
  3. Gestione sicura con consapevolezza di permessi e caratteristiche di archiviazione

Combinando questi approcci la gestione del disco passa da un compito noioso a una parte fondamentale delle operazioni di sistema.

6. FAQ (Domande Frequenti)

Q1. Qual è il modo più semplice per controllare lo spazio disco attuale su Ubuntu?

Il metodo più semplice è eseguire il seguente comando in un terminale:

df -h

Questo mostra la dimensione totale, lo spazio usato e lo spazio disponibile per ogni filesystem.
L’opzione -h formatta i valori in modo leggibile (GB / MB).

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

Usa il comando du.
Per controllare una directory specifica:

du -sh /home

Significato delle opzioni:

  • -s : Mostra solo il totale
  • -h : Visualizza le dimensioni in formato leggibile

Per un’analisi più dettagliata:

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

Q3. Qual è la differenza tra df e du?

In breve, misurano obiettivi diversi.

CommandTargetMain Purpose
dfEntire filesystemCheck available space
duFiles and directoriesIdentify disk usage sources

Q4. Come posso controllare lo spazio disco usando strumenti GUI?

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

  • File Manager: mostra lo spazio rimanente nella barra di stato
  • Baobab: visualizza l’utilizzo del disco con grafici e mappe ad albero

Q5. Cosa dovrei eliminare per primo quando vedo un avviso “disk pieno”?

Inizia con gli elementi sicuri nell’ordine seguente:

  1. Cache APT : sudo apt clean
  2. Pacchetti inutilizzati : sudo apt autoremove
  3. Log vecchi : sudo journalctl --vacuum-time=7d
  4. Cestino e cache delle miniature : rm -rf ~/.cache/thumbnails/* ~/.local/share/Trash/*

Q6. Le applicazioni Snap consumano molto spazio disco?

Sì. Snap mantiene più revisioni per impostazione predefinita.
Rimuovi le revisioni inutilizzate con:

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

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

  • /var : pulisci i log ( /var/log ) e le cache ( /var/cache )
  • /home : archivia o sposta i file utente di grandi dimensioni su storage esterno

Se necessario, considera di espandere lo storage usando LVM o montando un disco aggiuntivo.

Q8. Il comando du impiega troppo tempo. Come posso velocizzarlo?

  • Limita la profondità con --max-depth=1
  • Escludi directory non necessarie (es. --exclude=/proc )
  • Usa ncdu per un’analisi interattiva

Q9. Come posso evitare che i problemi di spazio disco si ripetano?

  • Esegui sudo apt autoremove settimanalmente
  • Controlla /var/log e /home mensilmente
  • Registra l’output di df -h per monitorare le tendenze
  • Pulisci regolarmente dati di Snap e Docker
  • Abilita TRIM sui sistemi SSD

Q10. Quali opzioni sono disponibili per espandere lo spazio disco?

  1. Espandere volumi LVM
    sudo lvextend -L +10G /dev/ubuntu-vg/ubuntu-lv
    sudo resize2fs /dev/ubuntu-vg/ubuntu-lv
  2. Aggiungere e montare un nuovo disco in directory come /mnt/data
  3. Usare storage cloud per file di grandi dimensioni e backup

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

Puoi eseguire df -h, ma du richiede permessi per ispezionare alcune directory.
Senza accesso root, limita l’analisi alla tua home directory:

du -sh ~/*

Q12. Come posso controllare lo spazio disco su un server senza GUI?

Usa il seguente set di comandi:

PurposeCommand
Check overall usagedf -h
Directory-level analysissudo du -hsx /*
Find large filessudo find / -type f -size +1G
Interactive analysissudo ncdu /

Q13. C’è qualche rischio nel controllare l’utilizzo del disco?

Controllare semplicemente l’utilizzo del disco è sicuro.
Tuttavia, le operazioni di cancellazione o ridimensionamento richiedono cautela.

  • Controlla due volte i percorsi quando usi sudo rm -rf
  • Non cancellare mai directory di sistema come /bin, /lib o /etc
  • Crea backup se non sei sicuro

Q14. Ci sono trucchi per risparmiare spazio disco?

  • Riduci la conservazione dei log in /etc/logrotate.conf
  • Rimuovi i language pack inutilizzati ( sudo apt install localepurge )
  • Rimuovi automaticamente i kernel vecchi ( sudo apt autoremove --purge )

Q15. Quali sono gli strumenti consigliati per il monitoraggio del disco?

ToolFeatures
ncduLightweight and fast CLI tool
BaobabGUI-based visual analysis
dufEnhanced df with readable tables
Netdata / Prometheus / GrafanaAdvanced server monitoring and visualization

Riepilogo Finale

Attraverso questa FAQ, i punti chiave della gestione del disco su Ubuntu possono essere riassunti come segue:

  1. Usa sia df (panoramica) sia du (dettagli)
  2. Rimuovi i dati non necessari in un ordine sicuro (APT → log → cache)
  3. Previeni la ricorrenza tramite automazione e monitoraggio

Adottando queste pratiche come routine, i problemi di spazio su disco diventano rari.
La gestione del disco può non essere glamour, ma è una delle attività di manutenzione più critiche per un funzionamento stabile di Ubuntu.

侍エンジニア塾