tar打包时报错:Reached end-of-file before expected的解决方法
在ibm-aix5.3下用tar打包一个文件夹时报错:tar: 0511-194 Reached end-of-file before expected.
用的命令是:tar -cvf /tmp/sybase12503.tar /sybase/sybase12x
解决方法:
执行ulimit -f 返回结果为:2097151,说明系统对用户所能用的文件大小限制为:2097151*512=1G
此时查看没有成功打包完成的/tmp/sybase12503.tar文件,发现其大小正好是:1073741312 (bytes).
可通过改 /etc/security/limits 文件中的fsize来设置为无限制:
default:
fsize = -1
为使 /etc/security/limits 文件的更改生效,用户必须注销当前登录会话并重新登录。
重新登录后,执行ulimit -a 返回结果为:unlimited。此时更改已经生效,对用户所能用的文件大小不加限制。但是,
无论 ulimit 设置如何,AIX 上的标准文件系统都有2GB文件大小限制,如果需要建大于2GB的文件需要启用大文件 选项创建文件系统。
然后,再次执行:tar -cvf /tmp/sybase12503.tar /sybase/sybase12x
成功将/sybase/sybase12x打包成/tmp/sybase12503.tar。
-bash-3.2$ ls -al /tmp/sybase12503.tar
-rw-r--r-- 1 root system 1142118400 May 12 11:17 /tmp/sybase12503.tar
补充:在网上搜到用tar打包的文件超过2G的时候,也是报同样的错误。此时就是文件系统的原因了。应该不是jfs2或者big file enable的jfs文件系统。
-bash-3.2$ lsfs -q /tmp
Name Nodename Mount Pt VFS Size Options Auto Accounting
/dev/hd3 -- /tmp jfs2 20971520 -- yes no
本机的/tmp文件系统为jfs2,应该可以支持2G以上的文件。
————————————————————————————————-
—- 本文为andkylee个人原创,请在尊重作者劳动成果的前提下进行转载;
—- 转载务必注明原始出处 : http://www.dbainfo.net
—- 关键字:tar aix ulimit jfs2 打包 压缩 解压
————————————————————————————————-
—- 本文为andkylee个人原创,请在尊重作者劳动成果的前提下进行转载;
—- 转载务必注明原始出处 : http://www.dbainfo.net
—- 关键字:tar aix ulimit jfs2 打包 压缩 解压
————————————————————————————————-