Rsync 3.0.0pre4 errors with ACLs and Xattrs between OSX
and Linux
Paul Ortman
portman at goshen.edu
Wed Oct 31 02:54:45 GMT 2007
Wayne Davison wrote:
> On Tue, Oct 30, 2007 at 06:42:04PM -0400, Paul Ortman wrote:
>> It's my understanding that as of 3.0 rsync supports OS X ACLs and
>> extended attributes, and that it should be possible to backup a
>> tree from an OS X system that contains files and folders with
>> ACLs and extended attributes to a Linux host filesystem that has
>> both "user_xattrs" and "acl" enabled on the destination file
>> system.
>
> No, OS X ACLs are not standard POSIX ACLs, and cannot be directly
> sent to an incompatible host. You can instead tell the receiving
> host to use --fake-super, which will store/retrieve the ACL
> information as an xattr (among other things). This incompatible
> ACL data is the cause of this error:
Such good information... Is there a authoritative documentation
section (wiki, faq, etc) where I could post this information? Maybe
my google-foo is just bad, but I can't seem to find that information
out easily, and I'd love to point others to a central documentation
place. Please excuse me if this should be really obvious...
I'll add the "fake super = yes" value to my sample receiving conf
file and do some more testing. Looks like I'll also try targeting
an XFS volume at the same time.
>> recv_acl_access: value out of range: 7d3001
>
> That number is nonsensical to a POSIX ACL system, such as Linux.
Makes sense, given above.
> The next error you cite is a limitation of your file system
> (probably ext3) in how large the extended attribute data can be:
>
>> rsync: rsync_xal_set:
>> lsetxattr(".file_with_xattrs.EGbmPN","user.com.apple.ResourceFork")
>> failed: Argument list too long (7)
>
> If lsetxattr() is complaining, there's nothing rsync can do about
> it (not without outside assistance).
The drive was ext3 formatted. So this also makes sense.
> A helpful user here, Wesley Terpstra, posted a solution that uses
> an LD_PRELOAD library to redirect the ResourceFork xattr data into
> a DB. Look for the posting with the subject "Linux backup server
> LD_PRELOAD". (I haven't tried it, but the code looked good.)
>
> Another solution is to choose a different filesystem, such as (I
> believe, but double-check to be sure) xfs.
XFS seems like a reasonable option for me, I'll try it out tomorrow
at work. I'll also take a look at the LD_PRELOAD option tomorrow.
Again, thanks for the help/clarification.
Paul
More information about the rsync
mailing list