当我尝试运行这个命令时:
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的影响。