how to get around rsync error (OS X Tiger)

Lee Cullens lee_cullens at mac.com
Mon Aug 22 05:35:11 GMT 2005


Lee Cullens wrote:

> Wayne Davison wrote:
>
>> On Sun, Aug 21, 2005 at 02:43:50PM -0400, Lee Cullens wrote:
>>  
>>
>>> The most logical place to ask this question is this rsync forum, but
>>> no one has yet even acknowledged the issue.
>>>   
>>
>>
>> I was hoping that a MacOS user would respond and help you out since this
>> issue appears to be specific to MacOS.
>>
>> As for why the rename is happening, that's how rsync updates all the
>> files (unless overridden via options) -- it creates a new version and
>> renames it over the old version.  The main reason for this is because of
>> how the rsync algorithm works, but it is also a very safe idiom in that
>> any process that has the file open (such as when a program is using the
>> binary as read-only swap) is not disrupted as it would be if new data
>> was simply written out to the old inode.
>>
>> I assume the root issue has to do with something non-Posix going on with
>> the files in that directory, but I don't know enough about MacOS to be
>> able to speculate about what that might be.
>>
>> ..wayne..
>>
>>  
>>
> Thank you for the reply Wayne,
>
> Yes, that makes sense and, of course, yet another reading of the man 
> pages gives that impression if one is properly attuned :-)    So,  the 
> option to override this behavior would be "--inplace" I assume, and do 
> yo know of any caveats regarding such locally?
> If I might be so naive,  may I also ask about the  "-H"  option?   OS 
> X  Darwin is BSD with Apple's own twists thrown in,  and uses a lot of 
> hard links, symbolic links and their own "aliases" to present the file 
> system to the GUI user.  I am creating first a full direct (no 
> intermediate image) clone with asr of my working volume 
> "Mirrored_HD_Set" to an external HD "LaCie_Disk_A" (or B or C ...) as 
> a bootable volume and I know from testing that just reversing source 
> and destination in asr restores a fully functional working volume.  In 
> the file system "LaCie_Disk_A" is a mount point in /Volumes/ but I 
> notice the mount point of "Mirrored_HD_Set" is actually a symbolic 
> link to (guess what) "Mirrored_HD_Set/" (wherever that is) just to 
> give you an idea of the hijinks.
> Now, I am using the rsync options "-axEuvv --delete 
> --exclude-from=..."  (so far)  to differentially update the clone.  On 
> initial readings of the rsync man pages I included the -H option, but 
> on subsequent readings I took it out.  Can you tell me if I might be 
> wrong in doing so?
>
> Thanks again for your reply - it was greatly appreciated,
> Lee C

Wayne,

Sorry for missing such an obvious (in hind sight) thought.  I removed 
/System/Library/CoreServices/ from my excludes file and included the 
rsync --inplace option and the issue is resolved :-)  The differentially 
updated clone is still bootable and seems ok. I might add that the issue 
is resolved locally at least, because using the --inplace option is 
probably not the best way for a remote transfer.  Maybe the rsync 
developers will think about the OS X peculiarities in the future and 
possibly find a solution :-)

Anyway, as a last consideration before the ultimate test of restoring to 
my working volume from the updated clone, I'm reviewing my choice of not 
using the -H option. On initial readings of the rsync man pages I 
included the -H option, but on subsequent readings I took it out.   Any 
thoughts? 

Thanks for your help,
Lee C



More information about the rsync mailing list