如何确定 rsync 默认使用哪个校验和?

如何确定 rsync 默认使用哪个校验和?

rsync下面的输出图像中:

壳

我无法找到默认校验和。是第一个吗, 或者括号里的那个?

just 的位深度是多少xxhash

找到了这个文档说明正在使用第一个提到的内容,那么括号中的内容的用途是什么?它只是一个类型指示器吗?STR手册这里提到的是什么?

--checksum-choice=STR, --cc=STR
       This option overrides the checksum algorithms.  If one algorithm
       name is specified, it is used for both the transfer checksums
       and (assuming --checksum is specified) the pre-transfer
       checksums.  If two comma-separated names are supplied, the first
       name affects the transfer checksums, and the second name affects
       the pre-transfer checksums (-c).

       The checksum options that you may be able to use are:

       o      auto (the default automatic choice)

       o      xxh128

       o      xxh3

       o      xxh64 (aka xxhash)

       o      md5

       o      md4

       o      sha1

       o      none

请提及更改校验和位深度的命令。它是否正确?

--checksum-choice=XXH128 

答案1

当您阅读文档中的列表时,您会看到

  • xxh64(又名xx哈希值

“aka”是“也称为”的缩写;这意味着“xxhash”和“xxh64”意思是一样的,这就是为什么“xxh64”后面有“(xxhash)”。

另外,您显示的文字明确地状态:

汽车(默认自动选择)

所以不行。括号并不意味着“默认”。 (括号什么时候意味着“默认”?通常情况恰恰相反!)

如果你想知道“自动”是什么意思,正如您发布的文本中所述的默认值,您将需要阅读文档中的下一段:

“auto”选项是默认选项,其中 rsync 将其算法选择基于客户端和服务器之间的协商,如下所示:

当传输双方都至少为 3.2.0 时,rsync 选择客户端的选择列表中的第一个算法,该算法也在服务器的选择列表中。如果没有找到通用校验和选项,rsync 将退出并出现错误。如果远程 rsync 太旧而无法支持校验和协商,则会根据协议版本选择一个值(
根据协议年龄在 MD5 和各种风格的 MD4 之间进行选择)。

因此,执行的操作取决于本地和远程 rsync 的版本以及哈希列表的顺序。

如果本地和远程 rsync 都具有与您的哈希值列表相同的哈希值列表,因此选择第一个。那是xxh128

相关内容