solaris的tar命令和linux中有点区别。如果不注意的话很容易犯错误。
版本:solaris 5.9
1.solaris中tar解包-C命令无效,无法指定目录来解包
2.solaris中创建tar包时一定要考虑好目录结构,如果创建包时为相对路径,则解压时也为相对路径。否则,解压时为绝对路径,并覆盖同名文件!!
例如: 在/tmp目录下有一个test文件.
用相对路径建立tar包
tar cvf /tmp/1.tar test
然后进入指定目录并解压
如果用绝对路径建包:
tar cvf /tmp/1.tar /tmp/test
再进入指定目录解包。
包直接解压到了/tmp文件夹中,如果该目录下有test,则会覆盖。
所以在solaris中解tar包一定要注意,不能靠经验直接解包。笔者曾经因为这样直接覆盖了一个数据库文件,导致数据库停机。
至于包中的文件是绝对路径还是相对路径,可以通过tar tvf tarfile 查看
3.如果包已经打成绝对路径了,怎样将其解成相对路径呢?
笔者查看了solaris 5.9 tar的帮助文档,发现没有对应选项。所以只能用pax命令来解包
cd $Home
pax -s:^/:./:g -r /dev/rmt/0
其中-s为替换选项。:^/:./:g 表示将开头的/换成./即当前目录。
转载于:https://blog.51cto.com/flashrazer/927216