Mac OS X Extended Attributes Support
Nate Gray has written a cool utility called Backup Bouncer that tests a copy utility's ability to deal with various kinds of metadata.
10.4
Using tar, these are the results on a Tiger (10.4.11) box:
dustin@schwarz ~/Desktop/release-0.1.3 $ sudo tar -C /Volumes/Src/ -cf - . | sudo tar -C /Volumes/Dst/ -xf - tar: ./05-timestamps/some-file: time stamp 2010-01-01 01:01:00 is 34674839 s in the future dustin@schwarz ~/Desktop/release-0.1.3 $ sudo ./bbouncer verify -d /Volumes/Src /Volumes/Dst/ Verifying: basic-permissions ... ok (Critical) Verifying: timestamps ... ok (Critical) Verifying: symlinks ... ok (Critical) Verifying: symlink-ownership ... ok Verifying: hardlinks ... ok (Important) Verifying: resource-forks ... Sub-test: on files ... ok (Critical) Sub-test: on hardlinked files ... ok (Important) Verifying: finder-flags ... ok (Critical) Verifying: finder-locks ... FAIL Verifying: creation-date ... FAIL Verifying: bsd-flags ... FAIL Verifying: extended-attrs ... util/test-runner: line 1: xattr-util: command not found util/test-runner: line 1: xattr-util: command not found util/test-runner: line 1: xattr-util: command not found Sub-test: on files ... ok (Important) Sub-test: on directories ... FAIL (Important) Sub-test: on symlinks ... FAIL Verifying: access-control-lists ... Sub-test: on files ... ok (Important) Sub-test: on dirs ... ok (Important) Verifying: fifo ... ok Verifying: devices ... ok Verifying: combo-tests ... util/test-runner: line 1: xattr-util: command not found util/test-runner: line 1: xattr-util: command not found util/test-runner: line 1: xattr-util: command not found Sub-test: xattrs + rsrc forks ... ok Sub-test: lots of metadata ... FAIL
I assume that the extended-attributes tests are failing simply because there is no support on the system, as shown by the "command not found" errors, rather than because tar has failed to copy them.
10.5
Here are the results on a Leopard (10.5.5) box. Tar's performance on Mac file system attributes has improved in a few areas.
$ sudo ./bbouncer verify -d /Volumes/Src /Volumes/Dst/ Verifying: basic-permissions ... ok (Critical) Verifying: timestamps ... ok (Critical) Verifying: symlinks ... ok (Critical) Verifying: symlink-ownership ... ok Verifying: hardlinks ... ok (Important) Verifying: resource-forks ... Sub-test: on files ... ok (Critical) Sub-test: on hardlinked files ... ok (Important) Verifying: finder-flags ... ok (Critical) Verifying: finder-locks ... FAIL Verifying: creation-date ... FAIL Verifying: bsd-flags ... ok Verifying: extended-attrs ... Sub-test: on files ... ok (Important) Sub-test: on directories ... ok (Important) Sub-test: on symlinks ... FAIL Verifying: access-control-lists ... Sub-test: on files ... ok (Important) Sub-test: on dirs ... ok (Important) Verifying: fifo ... ok Verifying: devices ... ok Verifying: combo-tests ... Sub-test: xattrs + rsrc forks ... ok Sub-test: lots of metadata ... ok