>_ DevTrendsit

Lingua

Home

Linguaggi

Sezioni

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embedded Sicurezza
Shell

Come liberare spazio su disco su macOS senza utility a pagamento e abbonamenti

Situazione familiare: apri la scheda "Archiviazione" nelle impostazioni di macOS e ci sono gigabyte occupati dalla categoria "Dati di sistema". Il sistema non spiega davvero dove sia finito lo spazio. Inizi a cercare una soluzione e il motore di ricerca ti propone subito strumenti all-in-one con interfacce accattivanti e un prezzo di quaranta dollari per un abbonamento annuale.

Pagare per qualcosa che elimina la cache una volta al mese non è generalmente ciò che uno sviluppatore desidera. Cercando un'alternativa leggera, mi sono imbattuto nel progetto cleanmac dello sviluppatore Haralambi Dobrev (hkdobrev). È un normale script bash che ripulisce silenziosamente i file spazzatura dal sistema.

Perché serve uno script separato per la pulizia

La maggior parte degli sviluppatori tiene un vero e proprio zoo di strumenti sui propri computer. Xcode accumula decine di gigabyte nella cartella DerivedData. Docker memorizza i layer di immagini vecchie. I gestori di pacchetti come npm e yarn mantengono la cache per anni.

Ricordare manualmente tutti i percorsi e i comandi richiede tempo. Le app GUI di terze parti spesso girano come processi in background, inviano notifiche e consumano RAM. Lo script cleanmac risolve il problema direttamente: lo esegui nel terminale, attraversa le directory note, libera spazio ed esce.

Faccio una nota: l'autore ha recentemente archiviato il repository e consiglia di dare un'occhiata al più recente strumento Mole. Ma cleanmac.sh è scritto in modo così trasparente che è facile estrarre snippet per i propri dotfile o usarli come ricetta pronta all'uso.

Cosa pulisce esattamente cleanmac

Non c'è magia dentro lo script—solo comandi per cancellare specifici detriti legati al lavoro.

Lo script controlla quattro gruppi principali di spazzatura:

  • Cache di sviluppo: cartelle DerivedData e archivi Xcode, cache npm e yarn.
  • Container: layer non utilizzati e container Docker fermi.
  • Spazzatura di sistema: log delle applicazioni, cache Safari, cache utente in 6 e contenuti del Cestino.
  • RAM: reset della cache su disco tramite chiamata dell'utility di sistema 7.

È comodo che la cancellazione della cache di sistema sia configurabile per età. Di default, lo script lascia i file creati negli ultimi 7 giorni. Se non vuoi toccare la cache fresca, puoi passare un intervallo diverso tramite argomenti.

Come eseguire lo script

L'installazione si riduce a clonare il repository:

0

Prima di rimuovere gigabyte di file, è prudente visualizzare in anteprima cosa lo script eliminerà. A questo scopo è disponibile una modalità sicura:

1

Il flag 8 elencherà i percorsi senza eliminare effettivamente i dati. Se l'elenco ti soddisfa, esegui la pulizia:

2

Lo script richiederà i diritti di superutente se deve eliminare log di sistema o eseguire un reset della RAM.

Cosa c'è dentro e cosa puoi imparare

Per chi scrive i propri script di automazione, cleanmac è interessante come esempio di codice bash pulito. Ha una gestione degli argomenti ben strutturata, controlla la presenza delle utility installate (per esempio, se Docker è installato nel sistema) e formattazione dell'output.

Se non hai bisogno della funzionalità completa, puoi estrarre solo le funzioni che ti servono. Per esempio, le righe per pulire DerivedData:

3

Oppure la chiamata per la pulizia delle immagini Docker:

4

Aggiungere queste due righe di comandi a un alias nel proprio zshrc è spesso più veloce e sicuro che installare software chiuso con telemetria opaca.

A chi tornerà utile

Il progetto è adatto a chi:

  • Lavora su un Mac con un piccolo SSD da 256 o 512 GB.
  • Sviluppa attivamente per iOS o web, dove le cache riempiono il disco in un paio di settimane.
  • Preferisce script shell aperti a utility chiuse a pagamento.
  • Vuole dare un'occhiata a comandi pronti per i propri script di manutenzione del sistema.

Nonostante lo stato archiviato del repository, cleanmac dimostra perfettamente un approccio semplice ai task di routine: invece di programmi pesanti, a volte trenta righe di Bash sono sufficienti. Se hai bisogno di uno strumento mantenuto attivamente con un'interfaccia interattiva direttamente nel terminale, dai un'occhiata a Mole menzionato dall'autore. Per una pulizia rapida una tantum, cleanmac farà comunque il suo lavoro.

Progetti correlati