So I just did several Mac OS X 10.5 Leopard installs, upgrading from Tiger (10.4) and even one machine from Panther (10.3). Although for the most part they went well (though very slowly),I have a few complaints. Some things are stupidly difficult, because Apple's obtuseness, combined with the plain complexity of the system (required, I suppose, to get the functionality), but mostly just because of the lack of documentation. So here are some:
- If one makes a backup first using Time Machine, and then wipes the disk partition before the install to obtain that optimal pristine-ness, one can then use Time Machine to restore needed data. Mostly. Some preferences, start up items, preference panes and alternate application directories got restored, and others ... did not. No clue as to why. Remove the extended attributes and all works fine. But how? See the next point.
- Time Machine adds extended attributes, which are all but Top Secret to the average user or even a fairly competent Unix command line person. That's all fine and good, but then when you use command line tools like "cp" to restore some files that Time Machine neglected to restore for you, they end up with the com.apple.metadata:_kTimeMachineOldestSnapshot extended attributes on them. The first place where this extra meta data causes teeth gnashing and head banging is when programs try to access that data and just abort with no message because they cannot. Permissions look right, but the extended attributes for some reason prevent access. No documentation I could find says why.
- Documentation. In general, Apple has been very good about providing man pages or other documentation for every feature, application and command on the system. But not for xattr, the only magical incantation, er, uh, command line tool, which can save you from the above pain in the neck. The command line help (obtained with --help) is barely adequate to get one started. Worse, none of the other obvious man pages cross reference the xattr command. The SEE ALSO in chmod, chflags, fsaclctl, sticky and ls are all places it ought to be mentioned. This is just laziness on Apple's part to leave the documentation for so key a part of the file system incomplete.