Changing absolute path for tar command in Solaris OS
When we use tar command in Linux, The / is trimmed, So when we restore from tar file , It will extract the files to directory we wish to to extract without overwriting.
In Solaris, tar command contains the absolute path, When we try to restore , It will restore to the absolute path as source.
This is some times very dangarous where it can overrite the source files or when you need to restore it in other locations, You need to have same file system as source.
To avoid this , Use the below.
$ tar tvf backup_apps.tar
-rwxr-xr-x 205/100 34260 Jan 18 11:14 2006 /tstdp1/prg/oracle/R12/apps/tech_st/10.1.3/jdk/demo/plugin/jfc/Notepad/Notepad.jar
-rwxr-xr-x 205/100 339 Jan 18 11:14 2006 /tstdp1/prg/oracle/R12/apps/tech_st/10.1.3/jdk/demo/plugin/jfc/Notepad/README.txt
drwxrwx--- 205/100 0 Jan 2 21:17 2007 /tstdp1/prg/oracle/R12/apps/tech_st/10.1.3/jdk/demo/plugin/jfc/TableExample/
-rwxr-xr-x 205/100 22353 Jan 18 11:14 2006 /tstdp1/prg/oracle/R12/apps/tech_st/10.1.3/jdk/demo/plugin/jfc/TableExample/TableExample.jar
drwxrwx--- 205/100 0 Jan 2 21:17 2007 /tstdp1/prg/oracle/R12/apps/tech_st/10.1.3/jdk/demo/plugin/jfc/TableExample/src/
-rwxr-xr-x 205/100 8613 Jan 18 11:14 2006 /tstdp1/prg/oracle/R12/apps/tech_st/10.1.3/jdk/demo/plugin/jfc/TableExample/src/TableExample.java
-rwxr-xr-x 205/100 8790 Jan 18 11:14 2006 /tstdp1/prg/oracle/R12/apps/tech_st/10.1.3/jdk/demo/plugin/jfc/TableExample/src/JDBCAdapter.java
-rwxr-xr-x 205/100 3293 Jan 18 11:14 2006 /tstdp1/prg/oracle/R12/apps/tech_st/10.1.3/jdk/demo/plugin/jfc/TableExample/src/TableExample2.java
-rwxr-xr-x 205/100 5708 Jan 18 11:14 2006 /tstdp1/prg/oracle/R12/apps/tech_st/10.1.3/jdk/demo/plugin/jfc/TableExample/src/TableExample3.java
-rwxr-xr-x 205/100 9339 Jan 18 11:14 2006 /tstdp1/prg/oracle/R12/apps/tech_st/10.1.3/jdk/demo/plugin/jfc/TableExample/src/OldJTable.java
-- If you extract using tar -xvf backup_apps.tar command, It will restore to original directory structure if available or errors out if not avaibale.
The work around for this problem is , Use command pax to extract the files in solaris instead of tar -xvf command.
pax -r -s '=^/tstdp1/prg/oracle/R12=/usr/R12=' < backup_apps.tar
Now it will extract to /usr/R12 folder.
$ cd /usr/R12
$ls -ltr
drwxr-xr-x 4 oracle oinstall 4 Jan 5 15:01 apps
When we use tar command in Linux, The / is trimmed, So when we restore from tar file , It will extract the files to directory we wish to to extract without overwriting.
In Solaris, tar command contains the absolute path, When we try to restore , It will restore to the absolute path as source.
This is some times very dangarous where it can overrite the source files or when you need to restore it in other locations, You need to have same file system as source.
To avoid this , Use the below.
$ tar tvf backup_apps.tar
-rwxr-xr-x 205/100 34260 Jan 18 11:14 2006 /tstdp1/prg/oracle/R12/apps/tech_st/10.1.3/jdk/demo/plugin/jfc/Notepad/Notepad.jar
-rwxr-xr-x 205/100 339 Jan 18 11:14 2006 /tstdp1/prg/oracle/R12/apps/tech_st/10.1.3/jdk/demo/plugin/jfc/Notepad/README.txt
drwxrwx--- 205/100 0 Jan 2 21:17 2007 /tstdp1/prg/oracle/R12/apps/tech_st/10.1.3/jdk/demo/plugin/jfc/TableExample/
-rwxr-xr-x 205/100 22353 Jan 18 11:14 2006 /tstdp1/prg/oracle/R12/apps/tech_st/10.1.3/jdk/demo/plugin/jfc/TableExample/TableExample.jar
drwxrwx--- 205/100 0 Jan 2 21:17 2007 /tstdp1/prg/oracle/R12/apps/tech_st/10.1.3/jdk/demo/plugin/jfc/TableExample/src/
-rwxr-xr-x 205/100 8613 Jan 18 11:14 2006 /tstdp1/prg/oracle/R12/apps/tech_st/10.1.3/jdk/demo/plugin/jfc/TableExample/src/TableExample.java
-rwxr-xr-x 205/100 8790 Jan 18 11:14 2006 /tstdp1/prg/oracle/R12/apps/tech_st/10.1.3/jdk/demo/plugin/jfc/TableExample/src/JDBCAdapter.java
-rwxr-xr-x 205/100 3293 Jan 18 11:14 2006 /tstdp1/prg/oracle/R12/apps/tech_st/10.1.3/jdk/demo/plugin/jfc/TableExample/src/TableExample2.java
-rwxr-xr-x 205/100 5708 Jan 18 11:14 2006 /tstdp1/prg/oracle/R12/apps/tech_st/10.1.3/jdk/demo/plugin/jfc/TableExample/src/TableExample3.java
-rwxr-xr-x 205/100 9339 Jan 18 11:14 2006 /tstdp1/prg/oracle/R12/apps/tech_st/10.1.3/jdk/demo/plugin/jfc/TableExample/src/OldJTable.java
-- If you extract using tar -xvf backup_apps.tar command, It will restore to original directory structure if available or errors out if not avaibale.
The work around for this problem is , Use command pax to extract the files in solaris instead of tar -xvf command.
pax -r -s '=^/tstdp1/prg/oracle/R12=/usr/R12=' < backup_apps.tar
Now it will extract to /usr/R12 folder.
$ cd /usr/R12
$ls -ltr
drwxr-xr-x 4 oracle oinstall 4 Jan 5 15:01 apps