Pulire Homebrew in sicurezza
Homebrew gestisce le versioni vecchie e i download in cache in modo più attivo di un tempo. A meno che la pulizia automatica non sia disabilitata, le installazioni e gli aggiornamenti puliscono le formulae che toccano, e Homebrew pulisce periodicamente tutte le formulae. Un'installazione di lunga data può comunque accumulare download, versioni bloccate (pinned), artefatti di build e dipendenze. Controlla i metadati di Homebrew prima di eliminare qualsiasi cosa sotto il suo prefisso.
Cosa tiene Homebrew
Si accumulano tre tipi di residui:
- Versioni vecchie. La pulizia di solito rimuove le versioni superate, ma le versioni trattenute o aggiornate di recente possono restare per un po' nel Cellar.
- Archivi scaricati. Ogni bottle e ogni download di cask finiscono nella cache di Homebrew, conservati per evitare un altro download.
- Dipendenze non usate. Le operazioni attuali di cleanup e uninstall di Homebrew di norma rimuovono le formulae che non servono più, a meno che la rimozione automatica non sia disabilitata. Installazioni più vecchie o operazioni interrotte possono comunque lasciarne alcune.
Controlla direttamente la dimensione della cache dei download:
brew --cache
du -sh "$(brew --cache)" 2>/dev/null
Come pulirlo
Il comando principale rimuove le versioni vecchie e riduce la cache dei download in un solo passaggio:
brew cleanup
Il manuale attuale di Homebrew
dice che la pulizia ordinaria rimuove le versioni installate vecchie e i download più vecchi di 120
giorni per impostazione predefinita. HOMEBREW_CLEANUP_MAX_AGE_DAYS può modificare quella finestra. Usa -n
per una prova a secco (dry run). La modalità più profonda -s elimina più download in cache, mantenendo
i download delle formulae e dei cask attualmente installati:
brew cleanup -n
brew cleanup -s
Cleanup e uninstall di Homebrew ora rimuovono per impostazione predefinita le dipendenze delle formulae non usate.
brew autoremove resta utile quando vuoi esaminare direttamente quella decisione sulle dipendenze:
brew autoremove --dry-run
brew autoremove
brew list mostra i pacchetti installati e brew outdated mostra gli aggiornamenti in sospeso. Usa
brew --cellar, brew --caskroom e brew --cache per scoprire i percorsi invece di
codificare /opt/homebrew; le installazioni Intel e Apple silicon sono diverse.
Sicuro per progettazione
La pulizia di Homebrew è a rischio più basso rispetto a eliminare a mano le directory del Cellar, perché usa i metadati di versione e dipendenza. Può comunque rimuovere una versione di rollback o un bottle in cache che ti aspettavi di usare offline. Anteprima sia cleanup sia autoremove, e tieni intenzionalmente le versioni bloccate o operative critiche.
Dietro le quinte: il Cellar, il Caskroom e come decide la pulizia
Homebrew installa ogni formula in una directory versionata nel Cellar riportato da
brew --cellar, poi collega la versione attiva nel suo prefisso. L'aggiornamento colloca la
nuova versione accanto a quella vecchia prima di ripuntare i symlink. I cask conservano metadati
versionati sotto il Caskroom, mentre i loro bundle app di solito vivono in /Applications.
I download usano il percorso riportato da brew --cache e vengono trattenuti secondo
la policy di Homebrew. brew cleanup usa i metadati di versione installata, di retention e di
dipendenza, piuttosto che eliminare semplicemente ogni directory non corrente. brew autoremove
espone la sola parte sulle dipendenze come comando separato. Poiché entrambi agiscono sui
registri di Homebrew anziché indovinare, sono più sicuri e più spiegabili di una rimozione
manuale delle cartelle. Un'anteprima resta utile sulle macchine che dipendono da toolchain vecchie o
bottle offline.
Dove un altro strumento dovrebbe fermarsi
Una mappa del disco o un cleaner può mostrare la cache di Homebrew e la sua dimensione. Mole può far emergere quella categoria, ma i comandi di Homebrew restano autorevoli per le versioni del Cellar e le relazioni di dipendenza. Scoperta e ownership non vanno confuse.
Un ordine di operazioni sicuro
Usa i comandi di percorso di Homebrew per misurare i suoi store, anteprima brew cleanup -n ed esegui
la pulizia ordinaria prima di considerare -s. Anteprima brew autoremove separatamente perché
risponde a una domanda sulle dipendenze, non sulla cache. Non serve una pianificazione fissa di
pulizia quando la pulizia automatica funziona e la pressione sul disco è bassa.