Diferente código hash cuando se conecta la salida "sha1sum" a "tar"

En el sistema AIX (v 7.1) sha1sum está calculando diferentes códigos hash cuando se canaliza directamente a la salida de tar comparado con cuando lee un file.

Cúales son las razones para esto ? ¿Hay forms de solucionar esto y get el código hash directamente de la salida de tar transmisión?

(En otros sistemas, como Debian y Ubuntu, la salida de sha1sum canal a tar funciona bien)

 folder=myfolder tarfile=myfolder.tar tar -cf $tarfile $folder && sha1sum $tarfile fe2dcba2b25d4bbb35460309c8bb87a1d2514d7d myfolder.tar tar -cf $tarfile $folder && sha1sum $tarfile fe2dcba2b25d4bbb35460309c8bb87a1d2514d7d myfolder.tar tar -cf - $folder > $tarfile && sha1sum $tarfile fe2dcba2b25d4bbb35460309c8bb87a1d2514d7d myfolder.tar tar -cf - $folder > $tarfile && sha1sum $tarfile fe2dcba2b25d4bbb35460309c8bb87a1d2514d7d myfolder.tar tar -cf - $folder | sha1sum f1dd1a0c4e82dd5c441664869b656c7bce799270 - tar -cf - $folder | sha1sum f1dd1a0c4e82dd5c441664869b656c7bce799270 - 

La razón de ese problema es el command tar . Tiene loggings internos hechos de un número fijo de bloques de 512 bytes. La cantidad de bloques por logging se puede establecer con el parámetro -b .

Algunas implementaciones pueden ajustar la cantidad de bloques automáticamente de acuerdo con el descriptor de file, si es un dispositivo de cinta, un file regular o una tubería.

La corrección de la cantidad de bloques con el parámetro -b solucionó el problema. Me gusta como: tar -b1 -cf - $folder | sha1sum tar -b1 -cf - $folder | sha1sum . Pero para hacer coincidir los bloques pnetworkingeterminados pnetworkingefinidos en los primeros dos commands de la pregunta, tuve que usar -b20 (los loggings de 10240 bytes son los -b20 pnetworkingeterminados para los files almacenados en files normales):

 $ tar -b20 -cf - $folder > $tarfile && sha1sum $tarfile fe2dcba2b25d4bbb35460309c8bb87a1d2514d7d myfolder.tar $ tar -b20 -cf - $folder |sha1sum fe2dcba2b25d4bbb35460309c8bb87a1d2514d7d