On linux and other Unix like operating systems, you can untar a tar file with an absolute path to a different location. On Solaris using tar you can not. How do you get around this? Perderabo on the Unix for Advanced and Expert Users forum describes how. Here is an example (names and servers changed to protect the innocent):
you@yourserver:~ $ tar tvf data_backup.tar -rwxrwx--- 13406/1201 2881056 Apr 26 19:29 2007 /apps/server/data/file -rwxrwx--- 13406/1201 485376 Apr 26 19:29 2007 /apps/server/data/file.idx you@yourserver:~ $ pax -r -s '=^/apps/server=/home/you=' < data_backup.tar you@yourserver:~ $ ls -l /home/you/data/ total 6624 -rwxr-x--- 1 d292462 strata 2881056 Apr 26 19:29 file -rwxr-x--- 1 d292462 strata 485376 Apr 26 19:29 file.idx
The key is the string given to pax ‘=^/apps/server=/home/you=’. The /apps/server is the path you are replacing and the /home/you is the new path you are forcing tar to untar to. Mix and match as required. But the first string (/apps/server) is the part of the absolute path of each tarred file.
Now get to it.