Ich habe keine Erfahrung mit btrfs, aber es wird beworben, dass es
Dateien deduplizieren kann.
In meiner Anwendung müsste ich ganze Verzeichnisbäume duplizieren.
Nach dem, was ich gelernt habe, dedupliziert btrfs nur in einem Post-Scan, nicht
sofort. Sogar nur mit cp
scheint keine
Deduplizierung auszulösen (zumindest df
zeigt eine erhöhte Festplattennutzung in der
Größe der kopierten Dateien).
Kann ich das Verschieben von Daten ganz vermeiden und btrfs
mitteilen direkt, um
eine Datei an einem anderen Ort zu duplizieren, also im Wesentlichen nur ihre
Metadaten zu klonen?
Im Wesentlichen ähnlich einem Hardlink, aber mit unabhängigen Metadaten
(Berechtigungen, Mod.-Zeiten, …).
Akzeptierte Antwort:
Es gibt zwei Möglichkeiten:
cp --reflink=always
cp --reflink=auto
Das Zweite ist dem Ersten fast immer vorzuziehen. Verwenden von auto
bedeutet, dass auf eine echte Kopie zurückgegriffen wird, wenn das Dateisystem kein Reflinking unterstützt (z. B. ext4 oder das Kopieren auf eine NFS-Freigabe). Bei der ersten Option bin ich mir ziemlich sicher, dass sie sofort fehlschlagen und das Kopieren stoppen wird.
Wenn Sie dies als Teil eines Skripts verwenden, das angesichts nicht idealer Bedingungen robust sein muss, verwenden Sie auto
wird Ihnen besser dienen.