在老AIX系统下,比如AIX5、6(亲测AIX 7.1没有这个问题),系统默认支持tar命令,但是IBM的tar和和同时期LINUX上的GNU tar一个最大的区别就是IBM的tar不能打包8G以上的打包,也就是说如果单个文件或者文件累积超过8G就不能使用tar进行打包,网上给出的解决方案是使用pax进行打包,但是pax打包相对与tar有很多不方便的地方。
1、pax打包同时不能使用gzip压缩,需要打包完成之后再压缩一遍,占用接近两倍的磁盘空间。
2、pax解包的时候是按照绝对路径解包,会导致在解包的服务器上新建很多目录。不能灵活解包
所以最方便的方案是将老AIX系统上的tar命令换成GNU的tar,来规避8G的限制。
首先看一下老AIX系统下,打包大文件时的报错,比如这里我使用db2move export命令导出一张16G的大表。
bash-4.2$ ls -l
total 69882808
-rw-r--r-- 1 als6 db2grp1 1365439 Apr 24 18:06 DB_DLL.sql
-rw-r--r-- 1 als6 db2grp1 401 Apr 24 18:55 EXPORT.out
-rw-r--r-- 1 als6 db2grp1 90 Apr 24 18:55 db2move.lst
-rw-r--r-- 1 als6 db2grp1 17889291019 Apr 24 18:55 tab1.ixf
-rw-r--r-- 1 als6 db2grp1 148 Apr 24 18:55 tab1.msg
-rw-r--r-- 1 als6 db2grp1 12237 Apr 24 18:55 tab2.ixf
-rw-r--r--