Come gestire lo spazio su disco su Linux quando il disco rigido è quasi pieno

Come gestire lo spazio su disco su Linux quando il disco rigido è quasi pieno

In Linux, la carenza di spazio su disco può verificarsi in modo imprevisto, causando frustrazione. Un momento, il sistema funziona perfettamente e un attimo dopo si verificano errori di aggiornamento, prestazioni lente o il rifiuto assoluto di eseguire le attività. Particolarmente comune nei sistemi lasciati senza manutenzione per lunghi periodi, questa situazione può essere risolta. Fortunatamente, Linux offre diversi strumenti e metodi per individuare il problema e risolverlo passo dopo passo senza compromettere l’integrità del sistema.

Impatto dello spazio su disco ridotto sui sistemi Linux

In Linux, la mancanza di spazio su disco può causare numerose complicazioni. Per un funzionamento efficiente, il sistema necessita di spazio disponibile per elementi essenziali come file temporanei, registri e swapping di memoria. Una conseguenza evidente dell’esaurimento dello spazio su disco è il significativo rallentamento delle prestazioni del sistema. Le applicazioni potrebbero avviarsi lentamente, il desktop potrebbe rallentare e persino le operazioni di routine potrebbero subire interruzioni.

Inoltre, le applicazioni software potrebbero interrompersi inaspettatamente a causa dell’incapacità di generare i file necessari. In particolare, i gestori di pacchetti come APT e DNF richiedono spazio sufficiente per scaricare e installare gli aggiornamenti; senza spazio su disco sufficiente, questi processi potrebbero interrompersi prematuramente, causando instabilità del sistema.

Questi esempi sono solo una piccola parte degli effetti negativi causati dalla mancanza di spazio su disco. Vediamo insieme come risolvere i problemi di spazio su disco nel vostro sistema Linux.

Analisi dell’utilizzo del disco

Il primo passo dovrebbe essere analizzare dove viene utilizzato lo spazio su disco.È possibile sfruttare gli strumenti grafici integrati nel sistema. Ad esempio, gli utenti GNOME possono utilizzare Disk Usage Analyzer (Baobab), che analizza visivamente l’utilizzo dello spazio, mentre gli utenti KDE hanno accesso a Filelight, che offre funzionalità simili con un’interfaccia interattiva.

Interfaccia grafica utente per l'analizzatore dell'utilizzo del disco Linux

Se preferisci usare il terminale o se gestisci un server, gli strumenti da riga di comando offrono un maggiore controllo. Esegui il seguente comando:

df -h

Visualizzazione dello spazio su disco in formato leggibile

Questo comando visualizza lo spazio utilizzato e disponibile per ogni partizione montata in un formato di facile utilizzo.

Sebbene dfidentifichi quale disco si sta riempiendo, non rivela cosa sta consumando spazio. Per questo, duè il comando di riferimento. Una volta identificato il disco interessato, usalo duper scoprire quali directory stanno consumando spazio in eccesso. Ad esempio, per verificare la dimensione di una directory specifica, usa:

du -sh /path

Per ottenere una panoramica concisa di tutte le directory di primo livello, eseguire:

sudo du -sh /*

Per un’esperienza terminale interattiva, si consiglia di utilizzare ncdu. Questo analizzatore di utilizzo del disco fornisce un’interfaccia chiara e navigabile per esplorare le directory in base alle dimensioni, facilitando l’identificazione rapida di file o directory di grandi dimensioni.

Interfaccia interattiva principale ncdu

Pulizia della cache e dei file temporanei

Con il passare del tempo, il sistema Linux accumula file temporanei e dati memorizzati nella cache, la maggior parte dei quali diventa ridondante. Dai file di installazione conservati dai gestori di pacchetti alle cache create dai browser web, questi file possono rapidamente occupare prezioso spazio su disco. Cancellare regolarmente questi file è un metodo semplice per recuperare spazio su disco senza compromettere la funzionalità del sistema.

Per i sistemi basati su Debian o Ubuntu, eseguire il seguente comando per cancellare i file non necessari:

sudo apt clean

In alternativa, per una rimozione più conservativa che prenda di mira solo i pacchetti obsoleti, eseguire:

sudo apt autoclean

Rimozione di pacchetti obsoleti e non utilizzati in Ubuntu

Gli utenti di Fedora o Red Hat possono pulire la cache dei pacchetti con:

sudo dnf clean all

Per i sistemi Arch Linux, il comando corrispondente è:

sudo pacman -Scc

Inoltre, utility di pulizia dedicate come BleachBit offrono un’interfaccia grafica intuitiva per pulire efficacemente le cache dei pacchetti, i file temporanei e le cache del browser.

Eliminazione sicura dei file Linux - Pagina del negozio BleachBit

Non trascurare la directory /tmp, che memorizza i file temporanei dei programmi in esecuzione. Generalmente, i file temporanei vengono cancellati al riavvio del sistema; riavviare il sistema è il modo più semplice per eliminarli. Se il riavvio non è fattibile, valuta l’eliminazione manuale dei file temporanei con:

sudo rm -rf /tmp/*

Assicurati che nessun processo critico stia attualmente utilizzando i file che stai rimuovendo.

Gestione dei file di registro

Sebbene i file di log svolgano un ruolo cruciale nella diagnostica di sistema, possono accumularsi in modo significativo nel tempo, consumando notevole spazio su disco se non monitorati. Nelle moderne distribuzioni Linux che utilizzano systemd, il journal conserva log che possono persistere indefinitamente.È possibile valutarne le dimensioni con:

journalctl --disk-usage

Per gestire le dimensioni in modo efficace, è possibile limitare l’utilizzo del disco conservando solo una quantità specifica di registri:

sudo journalctl --vacuum-size=500M

Questo comando garantisce la conservazione dei log necessari per la risoluzione dei problemi, eliminando al contempo le voci più vecchie che potrebbero non essere più necessarie. Inoltre, i file di log tradizionali vengono conservati nella directory “/var/log/”.File come syslog o kern.log possono aumentare notevolmente di dimensioni in caso di problemi. Invece di eliminarli, è possibile troncarne il contenuto preservando i file stessi per mantenere la funzionalità del servizio:

sudo truncate -s 0 /var/log/syslog

Diversi strumenti GUI come Baobab, Filelight o BleachBit semplificano l’identificazione e la gestione di file di registro di grandi dimensioni.

Rimozione del software inutilizzato

Con il passare del tempo, le applicazioni inutilizzate e le dipendenze residue possono occupare prezioso spazio su disco. Disinstallare questi pacchetti non solo libera spazio, ma rafforza anche la sicurezza del sistema. Nei sistemi basati su GNOME come Ubuntu, gli utenti possono accedere all’App Center, selezionare la scheda Gestisci e rivedere le applicazioni. Da lì, è sufficiente scegliere qualsiasi app non più necessaria e fare clic su Rimuovi. Gli utenti KDE possono ottenere risultati simili nell’app Scopri.

Centro app Ubuntu

Se preferisci usare il terminale, puoi eliminare i pacchetti non necessari, insieme alle relative configurazioni, utilizzando:

sudo apt autoremove --purge

Rimuove i pacchetti non necessari e pulisce i file di configurazione rimanenti

Gli utenti Fedora dovrebbero eseguire:

sudo dnf autoremove

Gli utenti di Arch Linux possono pulire i pacchetti orfani con:

sudo pacman -Rns $(pacman -Qtdq)

Questo processo di pulizia aiuta a mantenere l’organizzazione e l’efficienza del sistema.

È inoltre fondamentale esaminare le applicazioni containerizzate come Snap e Flatpak, poiché tendono a occupare più spazio su disco rispetto ai pacchetti convenzionali. Utilizzare snap listo flatpak listper identificare quelle adatte alla rimozione.

Identificazione ed eliminazione di file di grandi dimensioni

File come immagini ISO obsolete, archivi di backup, dump di database e file di macchine virtuali possono consumare silenziosamente una notevole quantità di spazio su disco. L’utilizzo di strumenti come Baobab può facilitare l’identificazione di file e directory di grandi dimensioni, consentendo di decidere rapidamente cosa eliminare o spostare.

Per gli utenti che preferiscono il terminale, comandi come ls, find, e dupossono essere utilizzati per individuare file più grandi e inutilizzati ed elencarli insieme alle loro dimensioni. Una volta identificati, è possibile rimuovere o trasferire questi file in un’altra posizione o su un dispositivo di archiviazione esterno.

Eliminazione delle vecchie versioni del kernel

Con ogni aggiornamento di sistema, Linux conserva le versioni precedenti del kernel come opzione di fallback nel caso in cui il nuovo kernel introduca problemi. Tuttavia, in genere non è necessario conservare più del kernel attivo e dell’ultimo kernel funzionante. I vecchi kernel possono occupare molto spazio su disco, ma spesso passano inosservati.

In genere, l’esecuzione sudo apt autoremovesui sistemi Ubuntu moderni gestisce automaticamente questa operazione, eliminando i vecchi kernel quando necessario. Per verificare la versione corrente del kernel, utilizzare:

uname -r

Per ottenere una panoramica di tutti i kernel installati, eseguire:

dpkg --list | grep linux-image

Controllo di tutti i kernel installati su Ubuntu

Per rimuovere manualmente versioni specifiche del kernel, utilizzare:

sudo apt remove linux-image-5.4.0-42-generic

Assicuratevi di non eliminare il kernel attualmente in uso, poiché ciò potrebbe rendere il sistema non avviabile. Strumenti visivi come Stacer forniscono interfacce intuitive per gestire efficacemente le versioni del kernel.

Scaricamento dei dati su un archivio esterno

Se hai svuotato completamente cache, log e pacchetti ma hai ancora problemi di spazio, considera che i tuoi requisiti di dati potrebbero superare lo spazio disponibile sul disco. Trasferire file di grandi dimensioni su un dispositivo di archiviazione esterno o secondario può essere una soluzione sensata. Questo approccio consente di montare unità esterne per un facile accesso senza ingombrare la partizione primaria.

L’utilizzo di strumenti come rsync facilita il trasferimento sicuro dei dati, garantendo al contempo il mantenimento di autorizzazioni e proprietà. In alternativa, servizi come Nextcloud consentono di mantenere il controllo dei dati ospitando il proprio cloud storage.

Osservazioni conclusive

Dopo la pulizia, è essenziale mantenere un monitoraggio regolare per prevenire future carenze di spazio su disco. Il rilevamento tempestivo di una crescita graduale può aiutare a evitare problemi imprevisti quando i livelli di storage scendono drasticamente. Per facilitare la gestione continua, si consiglia di aggiungere un widget di utilizzo del disco al pannello per un rapido accesso alle metriche di utilizzo. Monitorando costantemente questi aspetti, è possibile preservare la stabilità e le prestazioni del sistema.

Fonte e immagini

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *