tar命令的@LongLink问题的解决

Solaris主机

Solaris缺省的tar命令为/usr/bin/tar,该命令存在一个缺陷,自己打包生成的tar文件,可能不能被自己顺利解包。其原因是由于解包时自己不支持@LongLink这种很长路径名字。也就是说,如果你的目录路径有8级以上甚至更多的时候,你就可能遇到这个问题了。

    解决这个问题的方法很简单。就是使用Solaris系统同样自带的/usr/gnu/bin/tar这个工具。

HP-UNIX

方法一
1、ftp上传tar包至一台Linux主机
2、在Linux上tar -xvf test.tar解包
3、用zip重新打包,zip -rv test.zip test
4、传回UNIX主机,用unzip命令解zip包 unzip test.zip
方法二
解决方法:
使用gtar工具来替代tar解压(tar 1.26版本还是使用tar命令即可)
tar-1.26         GNU version of tar, a tape file archiver
Description:  Although tar is supplied with HP-UX, gtar has more options and handles absolute paths as relative paths,
                 restores the original dates of directories when extracting and also supports large file systems.
                 The gettext and libiconv packages should be installed first, prior to installing tar.
软件下载:http://hpux.connect.org.uk/hppd/hpux/Gnu/tar-1.26/
该软件安装后目录为:/usr/local/bin/tar
安装:
gzip -d tarxxx.depot.gz
swinstall -s /tmp/xxx/tarxxx.depot
注意红字内容,安装完后执行可能会出现如下的报错:
# /usr/local/bin/tar
/usr/lib/hpux32/dld.so: Unable to find library 'libintl.so'.
Killed
or
# /usr/local/bin/tar
/usr/lib/hpux32/dld.so: Unable to find library 'libiconv.so'.
Killed
可以先使用find命令查找到所缺少的文件位置libintl.so、libiconv.so。
# find / -name libintl.so
如果找到将该文件拷贝到/usr/lib/hpux32目录下即可,若缺少文件太多直接cp -R 将缺少文件所在的目录下的所有文件拷贝过来。
若本机未能找到这些文件,从其他主机上拷过来也行,若都没有,按上面的红字部分安装所需文件包后再find。



你可能感兴趣的:(命令,tar,问题解决)