Never use absolute path when you create tar
In unix, especially Solaris, the tar file is dangerous if you create a tar file with absolute path.
For example:
We have an very important config files here, if you change the content may cause some problem
1 bash-2.03$ ls -ltr /home/limingwei/config.txt 2 -rw-r--r-- 1 limingwei mqm 3 Apr 4 15:46 /home/limingwei/config.txt 3 bash-2.03$ cat /home/limingwei/config.txt 4 hi
Someday, you need to tar the file for some reason, and you tar the file with absolute path.
1 bash-2.03$ tar -cvf config.tar /home/limingwei/config.txt 2 a /home/limingwei/config.txt 1K 3 bash-2.03$ ls config.tar 4 config.tar
Then a few days later, the content of the config is changed due to some reason. Now the correct content is not "hi". It is "hello world"
bash-2.03$ cat /home/limingwei/config.txt hello world
So in this situation, if someone who is not clear about this tar file. He may untar this file for some reason.
bash-2.03$ ls -l config.tar -rw-r--r-- 1 limingwei mqm 2048 Apr 4 15:47 config.tar bash-2.03$ tar -xvf config.tar tar: blocksize = 4 x /home/limingwei/config.txt, 3 bytes, 1 tape blocks bash-2.03$ cat /home/limingwei/config.txt hi bash-2.03$
Now you can see. The someone`s untar option have overwrite our correct config file.
So the point is never use absolute path when you create tar. And more importantly, you need to check the tar file before you untar it. Check it with -t option.
bash-2.03$ tar tvf config.tar tar: blocksize = 4 -rw-r--r-- 100009/105 3 Apr 4 15:46 2013 /home/limingwei/config.txt
If the someone did this before untar the file, config file will not be overwrite.