Valor de hash diferente de arquivo rsynced grande em centos e ubuntu?

Valor de hash diferente de arquivo rsynced grande em centos e ubuntu?

Eu sincronizei novamente um arquivo grande do centos remoto para o ubuntu local com

rsync -avzP user@<remote-ip>:/path/to/file .

Ele relatou que a transferência correu bem:

sent 30 bytes  received 257,293,476 bytes  1,296,188.95 bytes/sec
total size is 8,217,194,015  speedup is 31.94

Pelo que eu sei, o rsync verifica automaticamente se a transferência ocorreu bem com verificações de hash após a conclusão da transferência.

Por curiosidade calculei hashes md5 no centos e no ubuntu, e estes são diferentes:

centos: 0faa300b7b0b81bfe65199da932eb6e2
ubuntu: f3a0fcc59516d4e68fd207bdbb1fc169

Ambos os hashes são calculados com md5sum:

centos> md5sum --version
md5sum (GNU coreutils) 8.22

ubuntu> md5sum --version
md5sum (GNU coreutils) 8.25

Portanto, as versões são um pouco diferentes, mas isso pode levar a valores diferentes dos hashes?

Editar:

Aqui estão ls -los resultados:

centos: -rw-rw-r--.  1 username username 8217194015
ubuntu: -rw-rw-r--   1 username username 8217194015

A saída do Centos inclui pontos misteriosos dos quais nunca ouvi falar. (poderia estar relacionado ao lvm? lvm é usado naquele centos)

Editar 2:

A verificação md5sum -btambém leva a resultados diferentes:

centos: 0faa300b7b0b81bfe65199da932eb6e2
ubuntu: 6d799f6981066d82c7f861576b4980e1

Qual algoritmo de hash o rsync usa?De acordo com a Wikipédiarsync usa md5 para verificar se o pedaço é o mesmo:

O destinatário divide sua cópia do arquivo em partes e calcula duas somas de verificação para cada parte: o hash MD5 e uma 'soma de verificação contínua' mais fraca, mas mais fácil de calcular. Ele envia essas somas de verificação ao remetente. O remetente calcula rapidamente a soma de verificação contínua para cada parte em sua versão do arquivo; se forem diferentes, deverá ser enviado. Se forem iguais, o remetente usa o hash MD5 mais caro em termos computacionais para verificar se os pedaços são iguais.

Responder1

Há uma suposição errada aqui:

Pelo que eu sei, o rsync verifica automaticamente se a transferência ocorreu bem com verificações de hash após a conclusão da transferência.

O Rsync usa somas de verificação para determinar se uma sincronização é necessária. Porém, o Rsync não relê a cópia criada, ele confia no kernel para relatar erros. Portanto, a conclusão é simples: os arquivos não são idênticos. Pode ser só um pouco, pode ser mais. Quanta incompatibilidade existe, uma soma de verificação não informa.

Responder2

O ponto .significa que o arquivo tem contexto SELinux, como todo arquivo no CentOS (e nenhum arquivo no Ubuntu), o que pode confundir md5sumde alguma forma. Você tentou executar md5sumo bswitch para ter certeza de que ele não seria prejudicado pelas conversões "para texto"?

informação relacionada