I discovered hfspax at this URL:
http://www.versiontracker.com/moreinfo.fcgi?id=11144&db=mac
There is a reference to it on this site which may have some info that I forgot to repeat here.
It is pax modified to grock resource forks and finder information. pax is cool.
To do this across the network, what is needed (and so far only hfspax provides it) is a way to send everthing out a pipe on one side and restore it on the other side. Both sides need to be run as root. Thats why nothing else works is because on the other side or the link, ditto and other programs can not set permissions, users, groups, etc. At least not with the normal afs mount that I have been using.
So what I did is use hfspax to make a back up of each directory starting in root. I did this because if hfspax fails somewhere, (like all the other programs do), I don't have to start back over from scratch each time. I also made a 'root.pax" for the flat items in root. So the steps go something like this:
Assuming that you are root in / and hfspax is somewhere in your path. I actually put this into a script. I did NOT backup "/Volumes" since that is the stuff mounted on the network.
So it goes like this:
ls | while read f; do file "$f" ; done | egrep -v directory | sed -e 's/: .*//' | hfspax -w -x cpio -f <destdir>/root.pax
ls | while read f ; do file "$f" ; done | egrep directory | sed -e 's/: //' | egrep -v Volumes | hfspax -w -x cpio -f <destdir>/"$f".pax "$f"
In brief, these commands, 1) list /, 2) run "file" on each thing in /, 3) filter out "directory" or in the second version pass only directories, 4) the sed strips everything that "file" adds in which starts with a colon space (this assumes no files have that in their names) 5) remove "Volumes" from the list of directories, 6) run hfspax. -w says create an output file, -f is where to put it, -x cpio says use the cpio option (comments say that this is the only one that works), last "$f" is what to copy. Notice the first line has no "$f" so it reads the files from stdin.
This assumes that destdir is mounted probably in /Volumes as a remote file system on the machine that you are trying to get the data to.
Then on the other side (the machine you sent the data to) you can restore things doing something like
hfspax -r -f root.pax
etc
(again, you have to be root to do both of these to get the Unix user, group, and file modes correct. I assume the finder is fine with all this crap. I did a small test and it seemed to work fine. I have not completed my bigger test yet.
Good luck,