tar打包时报错:Reached end-of-file before expected的解决方法

来源:互联网 发布:计划网络图绘制软件 编辑:程序博客网 时间:2024/04/28 04:21

----------------------------------------------------------------------------

---- 本文为andkylee个人原创,请在尊重作者劳动成果的前提下进行转载;

---- 转载务必注明原始出: http://blog.csdn.net/andkylee

--- 2010-05-12 11:18:43

---- 关键字: tar aix ulimit jfs2 打包 压缩 解压

----------------------------------------------------------------------------

在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来设置为无限制:


为使 /etc/security/limits 文件的更改生效,用户必须注销当前登录会话并重新登录。

重新登录后,执行ulimit -a 返回结果为:unlimited。此时更改已经生效,对用户所能用的文件大小不加限制。但是,
无论 ulimit 设置如何,AIX 上的标准文件系统都有2GB文件大小限制,如果需要建大于2GB的文件需要启用大文件选项创建文件系统。

然后,再次执行:tar -cvf /tmp/sybase12503.tar /sybase/sybase12x
成功将/sybase/sybase12x打包成/tmp/sybase12503.tar。

补充:在网上搜到用tar打包的文件超过2G的时候,也是报同样的错误。此时就是文件系统的原因了。应该不是jfs2或者big file enable的jfs文件系统。


本机的/tmp文件系统为jfs2,应该可以支持2G以上的文件。
原创粉丝点击