Pour MacOS :
Dans man tar nous pouvons regarder --options section et nous y trouverons !timestamp option, qui exclura l'horodatage de notre archive gzip. Utilisation :
tar --options '!timestamp' -cvzf archive.tgz filename
Il produira la même somme md5 pour les mêmes fichiers avec les mêmes noms
tar czf outfile infiles est équivalent à
tar cf - infiles | gzip > outfile
La raison pour laquelle les fichiers sont différents est que gzip place son nom de fichier d'entrée et son heure de modification dans le fichier compressé. Lorsque l'entrée est un tube, elle utilise une chaîne vide comme nom de fichier et l'heure actuelle comme heure de modification.
Mais il a aussi un --no-name option, qui lui dit de ne pas mettre le nom et l'horodatage dans le fichier. Donc, si vous écrivez explicitement la commande développée, au lieu d'utiliser le -z option à tar , vous pouvez utiliser cette option.
tar cf - testfile | gzip --no-name > a.tar.gz
tar cf - testfile | gzip --no-name > b.tar.gz
J'ai testé cela sur OS X 10.6.8 et cela fonctionne.