GNU/Linux >> Znalost Linux >  >> Linux

Proč se md5 hash dvou tarballů stejného souboru liší?

Pro MacOS:

V man tar můžeme se podívat na --options a tam najdeme !timestamp možnost, která vyloučí časové razítko z našeho archivu gzip. Použití:

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

Vytvoří stejný součet md5 pro stejné soubory se stejnými názvy


tar czf outfile infiles je ekvivalentní k

tar cf - infiles | gzip > outfile

Důvodem, proč se soubory liší, je gzip vloží svůj vstupní název souboru a čas modifikace do komprimovaného souboru. Když je vstupem roura, používá prázdný řetězec jako název souboru a aktuální čas jako čas modifikace.

Ale má také --no-name volba, která mu říká, že nemá do souboru vkládat jméno a časové razítko. Pokud tedy napíšete expandovaný příkaz explicitně, namísto použití -z možnost tar , můžete tuto možnost využít.

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

Testoval jsem to na OS X 10.6.8 a funguje to.


Linux
  1. Jsou tar.gz a tgz to samé?

  2. Extrahujte tar chybu souboru tar.bz2

  3. Jak gzipovat více souborů do jednoho souboru gz?

  1. Jak vyřešit:stdin:není ve formátu gzip

  2. Linux – dekomprimujte a zrušte archivaci souboru .tar.gz pomocí Cat, Tar a Gzip na jednom příkazovém řádku?

  3. Proč se zdá, že pevné odkazy zabírají stejné místo jako originály?

  1. Jak používat příkaz Tar v Linuxu

  2. Přesměrovat na stejný soubor jako zdrojový soubor zpracovaný příkazem?

  3. Rozdíl hlásí dva soubory se liší, ačkoli jsou stejné!?