GNU/Linux >> Linux Esercitazione >  >> Linux

Come duplicare un file senza copiare i suoi dati con Btrfs?

Non ho esperienza con btrfs, ma è pubblicizzato per poter
deduplicare i file.

Nella mia applicazione, dovrei duplicare interi alberi di directory.

Da quanto ho appreso, btrfs si deduplica solo in alcune scansioni successive, non
immediatamente. Anche solo usando cp non sembra attivare alcuna
deduplicazione (almeno, df mostra un maggiore utilizzo del disco nella
dimensione dei file copiati).

Posso evitare di spostare del tutto i dati e dire a btrfs direttamente per
duplicare un file in un'altra posizione, essenzialmente semplicemente clonando i suoi
metadati?

In sostanza, simile a un hardlink, ma con metadati indipendenti
(autorizzazioni, tempi mod., …).

Risposta accettata:

Ci sono due opzioni:

  1. cp --reflink=always
  2. cp --reflink=auto

La seconda è quasi sempre preferibile alla prima. Usando auto significa che tornerà a eseguire una copia vera se il file system non supporta il reflinking (ad esempio, ext4 o la copia su una condivisione NFS). Con la prima opzione, sono abbastanza sicuro che fallirà e smetterà di copiare.

Se lo stai usando come parte di uno script che deve essere robusto di fronte a condizioni non ideali, auto servirà il tuo meglio.


Linux
  1. Come creare e montare il file system Btrfs (spiegato con esempi)

  2. Come scrivere un file con C in Linux?

  3. Come funziona rm? Cosa fa rm?

  4. Come copiare un file senza usare scp all'interno di una sessione ssh?

  5. Come trovare il file con name=php.ini su Linux usando il comando grep

Come estendere lo spazio di scambio utilizzando il file di scambio in Linux

Come modificare un file senza modificarne i timestamp in Linux

Come rimuovere i dati di file Exif con ExifTool in Ubuntu 20.04

Procedura:un'introduzione all'uso di Git

Come convertire file in formati diversi senza utilizzare software

Come rimuovere un file senza usare rm?