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

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 机器上没有发生类似的问题。我在两台机器上编译和构建了完全相同的代码集,但 CentOS 6 不会创建 rpm。

我该如何解决这个问题?我已经在 Google 上搜索过了,得到的有用链接很少(如果有的话)。据我所知,RPM 用户指南中没有提到这一点,而且 Maximum RPM 也没有关于此的部分。

答案1

尝试检查您的 rpmbuild 根目录。就我而言,磁盘已满,rpm build 没有空间来创建 rpm。它失败并出现 cpio bad magic 错误,这是一个误导性错误。

注意:我尝试了 yum 升级/更新,但没有帮助。

答案2

经过所有搜索,我认定这是 CentOS 6 的 rpmbuild 版本的一个 bug。正如我所料,快速的“yum update”解决了这个问题 :) 希望这对你有所帮助。

答案3

您可以尝试使用 -vv 运行 rpmbuild,以便查看它到底在哪里阻塞?可能由于某种原因,相关文件未在工作目录中找到,或者已损坏。Magic number 指的是 unix 文件的起始字节。有关详细信息,请参阅 Man magic。

答案4

就我而言,这是由于存储空间不足留在我的机器上。我已经清理了 RPM 所需的足够空间,然后一切都正常工作。

相关内容