Begin hier

Dubbele bestanden op een Mac: waarom APFS-klonen de rekensom veranderen

Finder-kopieën op APFS zijn vaak klonen die ruimte delen, dus verwijderen levert bijna niets op. Zo vind je echte duplicaten veilig, en wat je laat staan.

5 min. leestijdDoor het MoreRoom-team, Yando Pte. Ltd.Deze pagina als Markdown

In het kort

  • Op APFS maken ‘Dupliceer’ in de Finder en kopieën binnen hetzelfde volume klonen, die de datablokken van het origineel delen in plaats van ze te kopiëren.
  • Een kloon verwijderen levert bijna niets op zolang de andere kopie bestaat, omdat de gedeelde blokken nog in gebruik zijn.
  • Programma’s voor dubbele bestanden vergelijken inhoud, geen blokken. Ze kunnen dus gigabytes aan besparing melden die nooit op je schijf verschijnen.
  • Bevestig echte duplicaten met een checksum zoals shasum -a 256, en bewaar de kopie waarnaar apps en bibliotheken echt verwijzen.
  • Verwijder nooit met de hand duplicaten in een Foto’s-bibliotheek of een app-bundel; gebruik in plaats daarvan het album Duplicaten van Foto’s.

Zo vind en verwijder je echte dubbele bestanden veilig op een Mac

  1. Zoek eerst naar grote kandidaten. Kies in de Finder Archief › Nieuwe slimme map, voeg de regel ‘Bestandsgrootte is groter dan 500 MB’ toe en sorteer op naam of grootte om waarschijnlijke paren te zien.
  2. Bevestig dat de inhoud identiek is. Voer in Terminal shasum -a 256 uit op beide bestanden. Gelijke checksums betekenen gelijke inhoud; verschillende checksums betekenen dat het geen duplicaten zijn.
  3. Controleer of ze op hetzelfde volume staan. Kopieën op hetzelfde APFS-volume kunnen klonen zijn. Eén ervan verwijderen levert dan misschien weinig of geen ruimte op, dus controleer de vrije ruimte voor en na.
  4. Bewaar de kopie waarnaar wordt verwezen. Bewaar de kopie in het project, de bibliotheek of de map die een app gebruikt. Verplaats de andere naar de prullenmand, maar nooit bestanden in pakketten zoals Foto’s-bibliotheken.
  5. Controleer het resultaat en leeg daarna de prullenmand. Noteer de vrije ruimte in Schijfhulpprogramma, leeg de prullenmand en vergelijk. Is er niets veranderd, dan waren de bestanden klonen en leverde verwijderen niets op.

Op APFS, het formaat van de opstartschijf van elke huidige Mac, is een ‘duplicaat’ vaak helemaal geen duplicaat. Kies je in de Finder Archief › Dupliceer (Command-D), of kopieer je een bestand naar een andere map op hetzelfde volume, dan maakt macOS meestal een kloon: een tweede bestand dat naar dezelfde datablokken wijst als het eerste. Dat neemt vrijwel geen extra ruimte in, dus verwijderen levert ook vrijwel niets op.

Hoe APFS-klonen werken

Een kloon is een nieuw bestand waarvan de inhoud niet wordt gekopieerd. Beide bestanden wijzen naar dezelfde blokken op de schijf. Pas als een van de twee wordt gewijzigd, schrijft APFS nieuwe blokken voor de gewijzigde delen, een techniek die copy-on-write heet. De ongewijzigde delen blijven gedeeld.

Een volledige kopie schrijft elk blok twee keer; een kloon deelt de blokken van het origineel; na bewerken zijn alleen de gewijzigde blokken nieuw

macOS maakt klonen als:

  • Je in de Finder Dupliceer gebruikt of kopieert (Option-slepen) binnen hetzelfde APFS-volume.
  • Een app bestanden kopieert met de standaard kopieerfuncties van het systeem, wat veel apps doen.
  • Je in Terminal cp -c gebruikt. Een gewone cp schrijft een volledige kopie.
cp -c "Big Video.mov" "Big Video copy.mov"   # kloon: deelt gegevens, bijna geen nieuwe ruimte
cp "Big Video.mov" "Big Video copy.mov"      # volledige kopie: schrijft alle gegevens opnieuw

Kopieën naar een ander volume, een externe schijf of een netwerkschijf zijn altijd volledige kopieën. Zoals Howard Oakley uitlegt, verliezen klonen hun gedeelde blokken ook als ze worden teruggezet uit een Time Machine-reservekopie: elke kloon komt terug als apart bestand.

Waarom een kloon verwijderen bijna niets oplevert

Ruimte komt pas terug als het laatste bestand dat een blok gebruikt is verwijderd, en geen lokale momentopname het blok nog vasthoudt. Bij een paar klonen blijft na het verwijderen van de ene elk gedeeld blok in gebruik door de andere, dus je wint een paar kilobyte aan metadata van het bestandssysteem terug. We hebben het getest: een bestand van 200 MB klonen kostte ongeveer 4 kB vrije ruimte, een gewone kopie 200 MB.

Gedeeltelijk bewerkte klonen zitten daartussenin. Heb je een video van 10 GB gekloond en daarna één kopie ingekort, dan horen de blokken die verschillen bij maar één bestand; verwijder je dat bestand, dan komen die blokken vrij en verder niets.

Waarom programma’s voor dubbele bestanden de besparing kunnen overschatten

Programma’s voor dubbele bestanden vergelijken de inhoud van bestanden, meestal met een checksum. Een kloon heeft precies dezelfde inhoud als het origineel, dus wordt hij als duplicaat gemeld en wordt zijn volledige grootte bij het totaal ‘je kunt besparen’ opgeteld. Op een Mac met veel klonen kan dat totaal gigabytes te hoog zijn.

Dezelfde blinde vlek verklaart waarom sommige tools het onderling niet eens zijn. Toon info in de Finder en du tellen de grootte van elk bestand apart op, dus een map met drie klonen van een bestand van 1 GB lijkt 3 GB. De vrije ruimte van je volume, die je in Schijfhulpprogramma ziet, is wat echt verandert.

Heb je veel echte kopieën, dan is het vaak beter ze om te zetten in klonen dan ze te verwijderen, zodat elk pad blijft werken. Dat is wat tools zoals Hyperspace van John Siracusa doen.

Logische grootte en toegewezen grootte

Elk bestand heeft twee groottes:

  • Logische grootte: hoeveel bytes het bevat. ls -l en de kolom ‘Grootte’ in de Finder tonen deze.
  • Toegewezen grootte: hoeveel schijfruimte het inneemt. Het cijfer ‘op schijf’ in de Finder en du tonen deze.

Ze verschillen bij klonen (gedeelde blokken), bij sparse bestanden zoals schijfkopieën en virtuele machines (niet-beschreven delen nemen geen ruimte in), bij bestanden die APFS comprimeert en bij cloudbestanden waarvan je de download hebt verwijderd. Zie logische vs. fysieke grootte voor meer.

ls -lh "Big Video.mov"   # logische grootte
du -h "Big Video.mov"    # toegewezen grootte, geteld alsof niets gedeeld wordt

Zo vind je echte duplicaten veilig

Begin met grote bestanden. Kleine duplicaten maken zelden verschil. Kies in de Finder Archief › Nieuwe slimme map, klik op +, stel Bestandsgrootte › is groter dan › 500 MB in (kies Andere… in het eerste menu als ‘Bestandsgrootte’ er niet tussen staat) en schakel over naar de lijstweergave, gesorteerd op naam. Gelijke namen en groottes zijn je kandidaten.

Bevestig met een checksum. shasum zit standaard in macOS en leest bestanden alleen:

shasum -a 256 ~/Movies/"Trip.mov" ~/Desktop/"Trip copy.mov"

Komen de lange hexadecimale reeksen overeen, dan is de inhoud identiek. Zo controleer je een hele map met grote bestanden op overeenkomsten:

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]}'

Dit toont groepen bestanden met dezelfde checksum. Er wordt niets verwijderd. Een gelijke checksum zegt niet of de bestanden klonen zijn, dus beschouw de ruimte als ‘mogelijk terug te winnen’.

Gebruik gerust een betrouwbare tool. Het opensource dupeGuru en bekende commerciële apps werken prima, mits je elke groep nakijkt, bibliotheken en systeemmappen uitsluit en hun besparingscijfers als bovengrens ziet.

Een veilige aanpak voor duplicaten: bevestig dat ze identiek zijn, controleer dat ze niet in een bibliotheek of app staan, bewaar de kopie waarnaar wordt verwezen en vergelijk daarna de vrije ruimte

Het risico van de ‘verkeerde’ kopie verwijderen

Identieke inhoud betekent niet dat de kopieën uitwisselbaar zijn.

  • Foto’s-bibliotheken. Verwijder nooit in de Finder bestanden in een .photoslibrary-pakket; de database van de bibliotheek rekent er nog op en kan beschadigd raken. Sinds macOS Ventura heeft Foto’s een album Duplicaten in de navigatiekolom dat duplicaten op de juiste manier samenvoegt. Verwijderde onderdelen wachten in ‘Recent verwijderd’.
  • Bibliotheken van Muziek, Final Cut Pro, Lightroom en vergelijkbare apps verwijzen naar bestanden via hun pad. Verwijder je het ‘duplicaat’ waarnaar een bibliotheek wijst, dan ontbreekt er een bestand.
  • App-bundels. Veel apps bevatten identieke frameworks. Iets verwijderen in een .app breekt de codehandtekening en kan voorkomen dat de app nog opent. Verwijder in plaats daarvan de hele app; zie Mac-apps volledig verwijderen.
  • Projecten en code. Naar een bestand in een projectmap verwijzen builds en scripts; de kopie op je bureaublad is meestal degene die weg kan.
  • Reservekopieën. Een bewuste tweede kopie op een andere schijf is een reservekopie, geen duplicaat.

Twijfel je, bewaar dan de kopie die staat waar een app haar verwacht, en verplaats de andere naar de prullenmand zodat je haar kunt terugzetten.

Hoe MoreRoom helpt

MoreRoom heeft nog geen functie om dubbele bestanden te zoeken. Wat het wel doet, is je schijf eerlijk meten: bij het scannen worden gekloonde gegevens één keer geteld, dus de totalen en de treemap worden niet opgeblazen door klonen zoals groottes per bestand dat wel worden. Zo zie je makkelijker waar de ruimte echt naartoe gaat, voordat je op zoek gaat naar duplicaten. De regels markeren ook veelvoorkomende kopieën die je veilig kunt nakijken, zoals oude schijfkopieën in Downloads. Alles wat je verwijdert, gaat eerst naar de prullenmand, met Herstel. Gebruik voor duplicaten in Foto’s het album Duplicaten van Foto’s zelf.

Veelgestelde vragen

Verdubbelt het dupliceren van een bestand in de Finder de ruimte die het inneemt?

Niet op APFS. ‘Dupliceer’ in de Finder (Command-D) en kopieën binnen hetzelfde APFS-volume maken klonen die dezelfde gegevens delen, dus de kopie neemt vrijwel geen extra ruimte in tot een van beide wordt bewerkt.

Hoe zie ik of een bestand een kloon is?

De Finder laat het niet zien, en beide kopieën tonen hun volledige grootte. De praktische test: noteer de vrije ruimte, verwijder één kopie, leeg de prullenmand en kijk of de vrije ruimte groeit.

Waarom leverde het verwijderen van duplicaten geen ruimte op?

De bestanden waren waarschijnlijk klonen of harde koppelingen die dezelfde gegevens delen. Ruimte komt pas terug als het laatste bestand dat die blokken gebruikt, is verwijderd.

Is het veilig om een programma voor dubbele bestanden te gebruiken?

Betrouwbare programma’s wel, als je elke overeenkomst nakijkt. Sluit Foto’s- en Muziek-bibliotheken, app-bundels en systeemmappen uit, en onthoud dat hun geschatte besparing klonen kan overschatten.

Vindt MoreRoom dubbele bestanden?

Nog niet. MoreRoom telt gekloonde gegevens maar één keer bij het meten van je schijf, dus de totalen worden niet opgeblazen door klonen, maar het heeft geen functie voor het zoeken naar dubbele bestanden.

Mappen in deze handleiding