Recently after switching from Mac OS X to Debian, I found I needed to restore a couple files from the Time Machine backup that I kept. The drive works just fine as an HFS+ mount, but I couldn't figure out how to retrieve anything within. When Google didn't yield the answer, I began to explore on my own.
It turns out Apple does a couple slick things with the file system to make incremental backups work, including hard linking to directories, which isn't allowed in Linux. So for anyone that needs to access their Time Machine from something other than its associated Mac, here's how you do it...
[robg adds: The following details were reproduced (with minor editing) using the author's original blog post, with his permission.]
/media/Time Machine/Backups.backupdb/Drive 1/2008-06-05-073745
After the permissions, you'll see the directory number that typically refers to the number of directories within that folder. For a file, it should always be 1, but here it is not. What Apple has done is adjust the information in this file's inode to use it as a pointer to the directory that contains the actual file. That way, multiple revisions of the same drive can coexist without duplicating data.
... -r--r--r-- 2155704 root 5791966 0 2007-06-25 02:54 Wallpaper -r--r--r-- 2155725 root 5791967 0 2007-06-25 02:54 Web-Identity -r--r--r-- 5441953 root 5791968 0 2007-06-25 02:54 Windows -r--r--r-- 5511926 root 5791969 0 2007-06-25 02:54 Work
Mac OS X Hints