In breve
- Su APFS, il comando Duplica del Finder e le copie all’interno dello stesso volume creano cloni che condividono i blocchi di dati dell’originale invece di copiarli.
- Eliminare un clone non libera quasi nulla finché esiste l’altra copia, perché i blocchi condivisi sono ancora in uso.
- Le app per trovare duplicati confrontano i contenuti, non i blocchi, quindi possono promettere gigabyte di risparmio che sul disco non compariranno mai.
- Conferma i veri duplicati con un checksum come shasum -a 256 e conserva la copia a cui fanno davvero riferimento app e librerie.
- Non rimuovere mai a mano i duplicati dentro una libreria di Foto o il pacchetto di un’app; usa invece l’album Duplicati di Foto.
Come trovare e rimuovere in sicurezza i veri file duplicati su un Mac
- Cerca prima i candidati più grandi. Nel Finder scegli Archivio › Nuova cartella smart, aggiungi la regola Dimensioni file è maggiore di 500 MB e ordina per nome o dimensione per individuare le probabili coppie.
- Verifica che il contenuto sia identico. Esegui shasum -a 256 su entrambi i file nel Terminale. Checksum identici significano contenuti identici; checksum diversi significano che non sono duplicati.
- Controlla se si trovano sullo stesso volume. Le copie create sullo stesso volume APFS possono essere cloni. Eliminarne una può liberare poco o nessuno spazio, quindi controlla lo spazio libero prima e dopo.
- Conserva la copia a cui si fa riferimento. Tieni quella dentro il progetto, la libreria o la cartella usata da un’app. Sposta l’altra nel Cestino, ma mai file dentro pacchetti come le librerie di Foto.
- Controlla il risultato, poi svuota il Cestino. Annota lo spazio libero in Utility Disco, svuota il Cestino e confronta. Se non è cambiato nulla, i file erano cloni ed eliminarli non è servito.
Su APFS, il formato del disco di avvio di tutti i Mac attuali, un «duplicato» spesso non è affatto un duplicato. Quando scegli Archivio › Duplica (Comando-D) nel Finder, o copi un file in un’altra cartella dello stesso volume, di solito macOS crea un clone: un secondo file che punta agli stessi blocchi di dati del primo. Non occupa quasi spazio in più, quindi eliminarlo non restituisce quasi nulla.
Come funzionano i cloni APFS
Un clone è un nuovo file il cui contenuto non viene copiato. Entrambi i file puntano agli stessi blocchi sul disco. Solo quando uno dei due viene modificato APFS scrive nuovi blocchi per le parti cambiate, una tecnica chiamata copy-on-write. Le parti invariate restano condivise.
macOS crea cloni quando:
- Usi Duplica o copi (trascinando con il tasto Opzione) all’interno dello stesso volume APFS nel Finder.
- Un’app copia i file con le chiamate di copia standard del sistema, come fanno molte app.
- Usi
cp -cnel Terminale. Il semplicecpscrive una copia completa.
cp -c "Big Video.mov" "Big Video copy.mov" # clone: condivide i dati, quasi nessuno spazio nuovo
cp "Big Video.mov" "Big Video copy.mov" # copia completa: riscrive tutti i dati
Le copie verso un altro volume, un disco esterno o una condivisione di rete sono sempre copie complete. Come spiega Howard Oakley, i cloni perdono la condivisione anche quando vengono ripristinati da un backup di Time Machine: ciascuno torna come file separato.
Perché eliminare un clone non libera quasi nulla
Lo spazio torna solo quando viene eliminato l’ultimo file che usa un blocco, e nessuna istantanea locale lo trattiene ancora. Con una coppia di cloni, eliminarne uno lascia tutti i blocchi condivisi in uso dall’altro, quindi recuperi qualche kilobyte di metadati del file system. L’abbiamo verificato: clonare un file da 200 MB ha ridotto lo spazio libero di circa 4 KB, mentre una copia normale lo ha ridotto di 200 MB.
I cloni modificati in parte stanno a metà strada. Se hai clonato un video da 10 GB e poi hai tagliato una delle copie, i blocchi diversi appartengono a un solo file; eliminare quel file libera quei blocchi e nient’altro.
Perché le app per i duplicati possono sovrastimare il risparmio
Le app per trovare duplicati confrontano il contenuto dei file, di solito con un checksum. Un clone ha esattamente lo stesso contenuto dell’originale, quindi viene segnalato come duplicato e la sua dimensione completa si aggiunge al totale «potresti risparmiare». Su un Mac con molti cloni, quel totale può risultare gonfiato di gigabyte.
Lo stesso punto cieco spiega perché alcuni strumenti non sono d’accordo tra loro. Ottieni informazioni del Finder e du sommano separatamente la dimensione di ogni file, quindi una cartella con tre cloni di un file da 1 GB sembra occupare 3 GB. Quello che cambia davvero è lo spazio libero del volume, visibile in Utility Disco.
Se hai molte copie autentiche, spesso conviene convertirle in cloni invece di eliminarle, così ogni percorso continua a funzionare. È quello che fanno strumenti come Hyperspace, di John Siracusa.
Dimensione logica e dimensione allocata
Ogni file ha due dimensioni:
- Dimensione logica: quanti byte contiene. La mostrano
ls -le la colonna Dimensioni del Finder. - Dimensione allocata: quanto spazio occupa sul disco. La mostrano il valore «sul disco» del Finder e
du.
Sono diverse per i cloni (blocchi condivisi), per i file sparsi come immagini disco e macchine virtuali (le aree mai scritte non occupano spazio), per i file compressi da APFS e per i file nel cloud di cui hai rimosso il download. Per saperne di più vedi dimensione logica e fisica.
ls -lh "Big Video.mov" # dimensione logica
du -h "Big Video.mov" # dimensione allocata, contata come se nulla fosse condiviso
Come trovare in sicurezza i veri duplicati
Parti dai file grandi. I piccoli duplicati contano poco. Nel Finder, scegli Archivio › Nuova cartella smart, fai clic su +, imposta Dimensioni file › è maggiore di › 500 MB (se Dimensioni file non è in elenco, scegli Altro… nel primo menu) e passa alla vista Elenco ordinata per Nome. Nomi e dimensioni uguali sono i tuoi candidati.
Verifica con un checksum. shasum è incluso in macOS e si limita a leggere i file:
shasum -a 256 ~/Movies/"Trip.mov" ~/Desktop/"Trip copy.mov"
Se le lunghe stringhe esadecimali coincidono, il contenuto è identico. Per cercare corrispondenze in un’intera cartella di file grandi:
find ~/Movies -type f -size +100M -print0 | xargs -0 shasum -a 256 \
| awk '{n[$1]++; l[$1]=l[$1] $0 "\n"} END {for (h in n) if (n[h]>1) print l[h]}'
Questo stampa gruppi di file con lo stesso checksum. Non elimina nulla. Un checksum identico non dice se i file sono cloni, quindi considera lo spazio come «forse recuperabile».
Se preferisci, usa uno strumento affidabile. dupeGuru, open source, e le app commerciali più note funzionano bene, a patto di controllare ogni gruppo, escludere librerie e cartelle di sistema e considerare le loro stime di risparmio come un limite massimo.
Il rischio di eliminare la copia «sbagliata»
Contenuti identici non significano copie intercambiabili.
- Librerie di Foto. Non eliminare mai dal Finder file dentro un pacchetto
.photoslibrary: il database della libreria li cerca ancora e può danneggiarsi. A partire da macOS Ventura, Foto ha un album Duplicati sotto Utility che unisce correttamente i duplicati. Gli elementi eliminati restano in Eliminati di recente. - Le librerie di Musica, Final Cut Pro, Lightroom e simili fanno riferimento ai file tramite il percorso. Rimuovere il «duplicato» a cui punta una libreria lascia un file mancante.
- Pacchetti delle app. Molte app includono framework identici. Eliminare qualsiasi cosa dentro un
.appne invalida la firma del codice e può impedirne l’apertura. Disinstalla invece l’intera app; vedi come disinstallare completamente le app sul Mac. - Progetti e codice. Un file in una cartella di progetto è usato da build e script; quello da rimuovere, di solito, è la copia sulla Scrivania.
- Backup. Una seconda copia voluta su un altro disco è un backup, non un duplicato.
Nel dubbio, conserva la copia che si trova dove un’app se la aspetta e sposta l’altra nel Cestino, così potrai ripristinarla.
Come ti aiuta MoreRoom
MoreRoom non ha ancora una funzione per trovare i duplicati. Quello che fa è misurare il disco con onestà: durante la scansione i dati clonati vengono contati una sola volta, quindi i totali e la treemap non sono gonfiati dai cloni come le dimensioni dei singoli file. Così è più facile capire dove va davvero lo spazio prima di metterti a caccia di duplicati. Le sue regole segnalano anche copie comuni da verificare, come le vecchie immagini disco rimaste in Download. Tutto ciò che rimuovi va prima nel Cestino, con Annulla. Per i duplicati di Foto, usa l’album Duplicati di Foto.
Domande frequenti
Duplicare un file nel Finder raddoppia lo spazio che occupa?
Non su APFS. Il comando Duplica del Finder (Comando-D) e le copie all’interno dello stesso volume APFS creano cloni che condividono gli stessi dati, quindi la copia non occupa quasi spazio in più finché una delle due non viene modificata.
Come faccio a sapere se un file è un clone?
Il Finder non lo mostra, ed entrambe le copie riportano la dimensione completa. La prova pratica è annotare lo spazio libero, eliminare una copia, svuotare il Cestino e vedere se lo spazio libero aumenta.
Perché eliminare i duplicati non ha liberato spazio?
Probabilmente i file erano cloni o hard link che condividevano gli stessi dati. Lo spazio torna solo quando viene eliminato l’ultimo file che usa quei blocchi.
È sicuro usare un’app per trovare duplicati?
Quelle affidabili sì, se controlli ogni corrispondenza. Escludi le librerie di Foto e Musica, i pacchetti delle app e le cartelle di sistema, e ricorda che le loro stime di risparmio possono conteggiare due volte i cloni.
MoreRoom trova i file duplicati?
Non ancora. MoreRoom conta una sola volta i dati clonati quando misura il disco, quindi i suoi totali non sono gonfiati dai cloni, ma non ha una funzione di ricerca dei duplicati.