rsync, mac OSX tiger, and UFS

Victor Shoup shoup at
Tue Sep 5 14:01:48 GMT 2006


I'd like to make a "feature request" for users of rsync on Mac OSX  
Tiger (10.4)

Given the current sorry state of backup tools on Mac OSX, the only
way I've found to reliably backup data from Mac OSX is to keep the data
on a UFS volume, and to then backup it up using *standard* rsync (no -E)
to a Unix file server.  This way, all the the "apple double" are  
treated as ordinary files,
and are backed up exactly when (and only when!) they are modified.

This is all well and good, but unfortunately, this usage does not extend
to using rsync to copy *to* an Apple UFS volume (either from another  
Apple UFS volume,
or a remote volume on a Unix file server).  The problem is the  
"special treatment" that
some low-level system calls give to "apple double" files.
For example,  if rsync first copies a file ._foo, and then file foo,  
the action of copying foo
*erases* the copy of ._foo on the destination volume.

Unfortunately, this happens at a very low level: if you make a system  
call to "open"
to create a file "foo", and if "._foo" exists, then "._foo" will be  
However, if you do it in reverse order, then all is well.

This is only an issue with Tiger (10.4): earlier versions of OSX were  
not so "clever",
and therefore, did not cause this trouble.

Anyway, it would be nice if the standard version of rsync worked  
"properly" on Tiger,
so that all files (regular and apple double) were treated like, well,  
ordinary files.
I don't even know if this is possible, given the hacks to the OS that  
Apple has introduced.
Also, unfortunately, who knows what hacks Apple will introduce in  
Leopard (10.5).

It would also be nice if --extended-attributes worked, but that is an  
orthogonal issue.

   -- Victor

More information about the rsync mailing list