osx 10.6 strange rsync errors

Robert DuToit rdutoit at comcast.net
Tue Apr 6 07:47:32 MDT 2010


On Apr 6, 2010, at 9:14 AM, Benjamin R. Haskell wrote:

> On Mon, 5 Apr 2010, Robert DuToit wrote:
> 
>> Hi Matt,
>> 
>> I set up a simple test with a nest of directories ( aa > bb > cc > dd 
>> &ee) with 1 file in each.  running rsync from OS 10.6 to another Mac 
>> with OS10.5 there seems to be no problem. When doing the reverse I am 
>> seeing the odd behavior.
>> 
>> Below is the log from running the options
>> 
>> -aHAXN --fileflags --force-change -stats -vvv  
>> 
>> note that the lines 
>> 
>> "rsync: mkstemp "/Volumes/xxx/testaaa/aa/..DS_Store.gnG29l" failed: No 
>> such file or directory (2)" 
>> 
>> are correct in that there are no such files but why does it think 
>> there are?
> 
> Those files are rsync's temporary files, which it transfers first, then 
> atomically moves into place.  Note the many other entries like:

Yes I see now that something in that process of temp files goes awry.

> 
> /path/to/.ORIGINALNAME.XXXXXX
> 
> e.g.: ORIGINALNAME = splittersize.h and XXXXXX = hVRihb in the following:
>> set modtime of aa/bb/cc/dd/.splittersize.h.hVRihb to (1236212797) Wed Mar  4 19:26:37 2009
>> renaming aa/bb/cc/dd/.splittersize.h.hVRihb to aa/bb/cc/dd/splittersize.h
> 
> So, it appears something has changed between 10.5 and 10.6 with how the 
> annoying-to-non-OSX users .DS_Store file is handled.  I just ran into 
> __MACOSX/.DS_Store files in a ZIP file the other day.  Annoying because 
> they force me to have to filter out the garbage files:
> unzip file.zip -x '__MACOSX/*'
> 
> A possibly interesting (probably not) experiment would be to create ZIP 
> files on each machine, then open them on a non-OSX machine to see 
> whether 10.6 creates a file without the .DS_Store files.
> 
> See: http://en.wikipedia.org/wiki/.DS_Store  for the purpose of the 
> files.  (basically, per-folder Finder preferences)
> 
> 
>> They don't exist on source or dest. They do however get created on the 
>> destination. It seems in my test that there is one created for every 
>> directory. However, the original .DS_Store files are not copied over 
>> just the new ones with the odd extra dot prefix and the cryptic 
>> extension on the end. The new odd .DS_Store files take the place of 
>> the normal ones that should be created by the finder.
>> 
>> I don't know if this sheds any light at all on this. Others have 
>> reported that these files get created by the thousands on the 
>> destination. Not only .DS_Store files but other hidden files.
> 
> My guess is that one ..DS_Store.XXXXXX file is created per-directory 
> per-transfer.  Other hidden files are likely created during failed 
> transfers.
> 
> If something changed between 10.5 and 10.6 regarding default permissions 
> on .DS_Store files, that might explain it.  And maybe the files are 
> created automatically at an earlier time (so can't be overwritten by the 
> rename). But I'm not sure what the best solution would be.  The 
> .DS_Store files may or may not be something each user would want to 
> keep.

You can live without the .DS_Store files though they do hold directory info but the many root level hidden files are part of the OS. It seems any hidden files (with a dot prefix) cause this to happen - though I haven't tested yet at root level.

I checked out dtrace (OSX version of strace) but it seems a bit complicated and I don't know how to use it yet. If anyone has maybe they can let me know. 

Thanks, Rob

> 
> -- 
> Best,
> Ben



More information about the rsync mailing list