Die Frage ist möglicherweise ungenau, daher werde ich versuchen, sie genauer zu erläutern.
Aus mehreren Gründen habe ich viele Kopien derselben Datei auf meinem Linux-Dateisystem. Viele von ihnen sind ziemlich groß.
Angenommen, ich habe /path/to/some.file
und Kopien dieser Datei /other/path/file.name
und /yet/another/path/third.copy
. Ich frage mich, ob es ein Dateisystem gibt, bei dem zwei dieser Dateien buchstäblich als Referenz zum Original dienen. Wenn der Benutzer eine von ihnen ändert, werden sie natürlich zu eigenständigen Dateien.
PS. Ich weiß, dass dies (teilweise) durch die Verwendung von Links erreicht werden kann. Aber ich möchte, dass diese Funktion, die ich oben erklärt habe, transparent vom Dateisystem verarbeitet wird.
linux
filesystems
DejanLekic
quelle
quelle
Antworten:
Diese Funktion wird als Deduplizierung bezeichnet . Keines der populären Linux-Dateisysteme (ext *) unterstützt es, aber anscheinend unterstützt ZFS es teilweise . Es gibt auch eine Tabelle mit Dateisystemen , in der unter anderem die Deduplizierung aufgeführt ist. Es gibt jedoch anscheinend keine gängigen Optionen - es ist jedoch eine geplante Funktion für Btrfs.
Ich würde vermuten, dass das regelmäßige Überprüfen Ihres Dateisystems und das Erstellen geeigneter fester Links das Beste ist, was Sie im Moment tun können, obwohl dies nicht das Kopieren beim Schreiben impliziert.
quelle
Das primäre Schlüsselwort, nach dem Sie suchen möchten, lautet "copy on write". BTRFS hat eine Klon-Operation, die genau das macht, was Sie wollen und
cp --reflink
tun wird, wonach Sie suchen, vorausgesetzt, Ihr System verfügt über einen Kernel und Coreutils 7.5. Wiki-Quelle Auch bedup ist ein Tool, mit dem Duplikate über ein gesamtes Volume zusammengeführt werden. CoW ist auch die treibende Kraft unter der Snapshot-Technologie IIRC von btrfs.quelle
cp --reflink
aber ich möchte, dass der FS Klone erkennt und stattdessen Referenzen transparent verwendet. Ich bin auch weg von dembedup
Werkzeug.cp --reflink
/ clone) oder ein separates Tool verwenden, um den Job später zu beenden (bedup).Es gibt ein Online-Dateisystem S3QL, das für Backups mit hoher Deduplizierungskapazität entwickelt wurde.
quelle
Zfs, Btrfs, Ext3cow, Bcachefs (Afaik, aber es besteht die Möglichkeit, dass es noch nicht implementiert ist). Microsoft hatte eine in der Entwicklung, aber sie stoppten aus unbekannten Gründen.
quelle