GNU/Linux >> Linux Esercitazione >  >> Linux

Perché gli hash md5 di due tarball dello stesso file differiscono?

Per MacOS:

In man tar possiamo vedere --options sezione e lì troveremo !timestamp opzione, che escluderà il timestamp dal nostro archivio gzip. Utilizzo:

tar --options '!timestamp' -cvzf archive.tgz filename

Produrrà la stessa somma md5 per gli stessi file con gli stessi nomi


tar czf outfile infiles è equivalente a

tar cf - infiles | gzip > outfile

Il motivo per cui i file sono diversi è perché gzip inserisce il nome del file di input e l'ora di modifica nel file compresso. Quando l'input è una pipe, utilizza una stringa vuota come nome file e l'ora corrente come ora di modifica.

Ma ha anche un --no-name opzione, che gli dice di non inserire il nome e il timestamp nel file. Quindi, se scrivi il comando espanso in modo esplicito, invece di utilizzare il -z opzione a tar , puoi utilizzare questa opzione.

tar cf - testfile | gzip --no-name > a.tar.gz
tar cf - testfile | gzip --no-name > b.tar.gz

L'ho testato su OS X 10.6.8 e funziona.


Linux
  1. Come utilizzare il comando Tar in Linux

  2. Come ottenere la dimensione di tar.gz nel file (MB) in python

  3. Perché il kernel è mappato allo stesso spazio di indirizzi dei processi?

  4. Perché gli hard link sembrano occupare lo stesso spazio degli originali?

  5. Perché la directory principale è indicata da un segno /?

Linux:decomprimi e decomprimi il file .tar.gz utilizzando Cat, Tar e Gzip su una riga di comando?

Reindirizzamento allo stesso file del file di origine elaborato dal comando?

Come utilizzare il comando Gzip in Linux?

come posso differenziare due sezioni dello stesso file?

È garantito che due sottodirectory con la stessa radice si trovino sullo stesso file system montato?

Come contare il numero di byte in un file, raggruppando gli stessi byte?