Cent OS 6上的rpmbuild:“cpio:坏魔法”

当我尝试运行这个命令时:

rpmbuild -bb SPECS/software.spec 

当WAR文件(如tomcat java web档案文件)被添加到rpm时,我得到一个错误:

 error: create archive failed on file /<filepath>/<filename>.war: cpio: Bad magic 

这并没有用来发生。 自此之后唯一改变的就是升级。 此外,在我的CentOS 5盒子上没有问题。 我编译和构build两台机器上完全相同的代码集,但CentOS 6不会创build一个rpm。

我如何解决这个问题? 我已经GOOGLE了,并收到很less(如果有的话)有用的链接。 在我看到的RPM的用户指南中,这种情况并没有出现,最大RPM没有关于此的部分。

尝试检查您的rpmbuild根目录。 在我的情况下,磁盘已满,rpm版本没有空间来创buildrpm。 它与cpio坏魔法错误,这是一个误导性的错误失败。

注意:我尝试了百胜升级/更新没有帮助。

你可以尝试使用-vv来运行rpmbuild,以便看到它在哪里被阻塞? 可能有问题的文件由于某种原因没有在工作目录中find,否则会损坏。 幻数是指unix文件的起始字节。 男子魔术的细节。

在我所有的search中,我认为这是rpmbuild版本的CentOS 6中的一个bug。一个快速的“yum更新”解决了这个问题,因为我怀疑:)希望这有助于。

我有这个问题,因为一个完整的/ var / tmp,清除一些空间固定它。

在我的情况下, 这是由于我的机器中剩余的存储空间不足 。 我已经清除了RPM所需的足够的空间,然后一切正常。

在cmake中使用CpackRPM 。 虽然更新rpmbuild到最后的版本是没有帮助的我的情况下,我明白这个错误,由于我的包中的一些文件,他们必须以root权限运行

所以,我执行cpack或者用sudo或root用户打包。

在这种情况下,您应该关心您的_tobdir_buildrootvariables,以_buildroot rpmbuild中某些configuration的影响。