mac 和 linux 之间的 rsync xattr 有什么奇怪之处?

mac 和 linux 之间的 rsync xattr 有什么奇怪之处?

大家好 - 我正在使用 rsync 从我的 Mac 备份到运行 Linux 的文件服务器,然后看到以下错误:

rsync -e ssh -vaxE --delete --ignore-errors 192.168.1.3:/bkup/mac/Users/dave/ /Users/dave/Desktop/dave 
[email protected]'s password: 
rsync: on remote machine: --extended-attributes: unknown option
rsync error: syntax or usage error (code 1) at main.c(1441) [server=3.0.5]
rsync: connection unexpectedly closed (0 bytes received so far) [receiver]
rsync error: error in rsync protocol data stream (code 12) at /SourceCache/rsync/rsync-37.3/rsync/io.c(452) [receiver=2.6.9]

...错误足够明显,但是 -v 显示两台机器的情况如下:

MAC(客户端/本地):

rsync  version 2.6.9  protocol version 29
...
Capabilities: 64-bit files, socketpairs, hard links, symlinks, batchfiles,
              inplace, IPv6, 64-bit system inums, 64-bit internal inums

LINUX(服务器/远程):

rsync  version 3.0.5  protocol version 30
...
Capabilities:
    64-bit files, 64-bit inums, 32-bit timestamps, 64-bit long ints,
    socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace,
    append, ACLs, xattrs, iconv, symtimes

...那么既然 Linux 机器说它支持 xattrs,为什么它会对 Mac 请求的扩展属性提出投诉呢?

仅供参考,Mac 运行的是 OS X 10.6.1,服务器运行的是 Ubuntu 2.6.28-15-generic - 两台机器都运行最新的标准软件包(除了默认安装的软件包外,两边都没有安装特殊版本的 rsync)。

任何见解均值得赞赏:-)

答案1

标志 -E / --extended-attributes 不是官方 rsync 发行版的一部分,并且是 Apple 在官方 rsync 版本不支持它们时附带的一个补丁。

现在,rsync 3.x 版以与 Apple 补丁不兼容的方式重新实现了扩展属性支持。根据rsync 3.0.6 手册页,扩展属性支持现在通过 --xattrs 或 -X 参数实现。它似乎根本不接受 --extended-attributes 标志。

您要么不必指定 -E,要么在本地安装支持新实现的 rsync 更新版本。

相关内容