GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Implementiert irgendein Dateisystem den Copy-on-Write-Mechanismus für CP?

Ab cp Manpage:

Wenn --reflink[=always] angegeben ist, führen Sie eine Lightweight-Kopie durch, bei der die Datenblöcke nur kopiert werden, wenn sie geändert werden. Wenn dies nicht möglich ist, schlägt die Kopie fehl, oder wenn --reflink=auto angegeben ist, wird auf eine Standardkopie zurückgegriffen.

Dies funktioniert auf Dateisystemen, die Copy-on-Write unterstützen (reflink ), derzeit hauptsächlich BTRFS. Die XFS-Reflink-Implementierung befindet sich in der Entwicklung.


Das zu suchende Schlüsselwort ist reflink . Es wurde kürzlich in XFS implementiert.

BEARBEITEN:Die XFS-Implementierung war ursprünglich als EXPERIMENTAL gekennzeichnet. Diese Warnung wurde in der Kernel-Version 4.16 entfernt, einige Monate nachdem ich das obige geschrieben hatte :-).


Linux hat einen Systemaufruf, der es Userspace-Prozessen ermöglicht, den Kernel anzuweisen, Kopien von Dateien zu kopieren, wenn sie geschrieben werden. FICLONERANGE und FICLONE, die als Optionen verwendet werden, um ioctl das Kopieren beim Schreiben von Kopien von Dateien und Bereichen innerhalb von Dateien zu ermöglichen.

Dies wird von cp --reflink verwendet, um die Kopien zu erstellen, wo das Dateisystem dies unterstützt.


Linux
  1. gcp – Ein erweitertes Dienstprogramm zum Kopieren von Dateien für Linux

  2. Ssh – Eine Datei mit Ssh zurück auf das lokale System kopieren?

  3. Linux – Konfigurieren Sie das Linux-System für aggressiveres Dateisystem-Caching?

  4. Berechtigungstabelle für Datei-/Verzeichnis- und Dateisystem-Benutzertypen

  5. Wie kann ich als normaler Benutzer manuell ein Linux-Dateisystem mit Lese-/Schreibzugriff mounten?

Bash:In Datei schreiben

Wählen Sie das beste Dateisystem für Ihr Linux

Die 10 Open-Source-Dateinavigationstools für Linux-Systeme

Muss Pipe eine temporäre Datei schreiben?

Hängen Sie bei der Auswahl zwischen ext4 und ext3 für das Dateisystem fest

Kopieren Sie die gesamte Dateisystemhierarchie von einem Laufwerk auf ein anderes