In-Place-Delta schreibt aus einer Pipe
Ich suche nach einer Möglichkeit, nur die Teile einer Datei zu überschreiben, die sich von dem unterscheiden, was in die Datei geschrieben werden soll, sodass die Datei mit der geringst möglichen Anzahl von Schreibvorgängen auf die Festplatte geändert wird.
Mein Plan ist, ein wenig Deduplizierung durchzuführen, während ich meine NTFS-Partition in einer Image-Datei gesichert habe, indem diese Image-Datei eine reflinkierte Kopie eines vorherigen Backup-Images auf einem BTRFS ist.
(Betrachten Sie es als einen Hardlink, auf den Sie schreiben können, ohne die Originaldatei zu ändern.)
Ich fülle die unbenutzten Teile meiner NTFS-Partition mit Nullen auf, indem ich in sie hineinpfeife. partclone
Die Eingabe ist also eine Pipe anstelle eines Geräts.
Betrachten Sie es als
cat /dev/sda4 | command -i - -o newbackup.img
Wo command
ist was ich suche und newbackup.img
ist eine Datei, die bereits 894GiB an Daten enthält, die weitgehend der Eingabe entspricht, aber die tatsächliche Plattenbelegung der Image-Datei ist gleich der Anzahl Blöcke, die überschrieben werden.
rsync
Mit den --no-whole-file --inplace
Parametern (IIRC) ist dies dank des Delta-Transfers möglich, aber es ist unnötig langsam (liest Ein- und Ausgabe nicht gleichzeitig, verarbeitet die Deltas in einem einzigen Thread und ist im Allgemeinen sehr zeituneffizient) und rsync
funktioniert auch nicht Pfeifen (meines Wissens), also steht es außer Frage.
0 Antworten auf die Frage
Verwandte Probleme
-
9
Was ist der Unterschied zwischen den Befehlen "su -s" und "sudo -s"?
-
4
Gutes freies Ubuntu Server-VMWare-Image benötigt
-
4
Was sind die Unterschiede zwischen den großen Linux-Distributionen? Werde ich es merken
-
2
Begrenzung der CPU-Auslastung für Flash in Firefox?
-
2
Wie kann ich mein Mikrofon unter Debian GNOME zum Laufen bringen?
-
2
Conky-Setups - Beispiele / Ideen?
-
3
Was sind die Unterschiede zwischen Linux Window Managern?
-
2
ThunderBird / Lichtsynchronisation mit SE k770i
-
4
Linux-Dateisystem
-
6
Vollbild-Flash langsam in KDE 4