首页 文章

使用rpmbuild构建32位和64位的组合包

提问于
浏览
0

我有一个32位和64位Linux平台的组合包 .

在64位系统上,所有文件都安装了spec文件的%files部分中提到的任何内容 . (32位和64位文件) . 在32位系统上,所有文件都安装了spec文件的%files部分中提到的任何文件,但在postinstall期间删除了64位文件(我编写了一个代码用于删除) .

问题是,在32位计算机上,程序包管理器在查询时显示所有文件以显示程序包安装的文件 . 所以在32位机器上显示64位文件 . (例如rpm -ql)

有没有什么好方法可以删除32位机器上的64位文件?

1 回答

  • 0

    不,没有简单的方法可以做到这一点 . RPM被设计为将32位和64位计算机视为单独的体系结构,并且有充分的理由 . You should be building two RPMs.

    通过自行删除您刚安装在 %post 部分中的文件,您将在RPM数据库中创建错误 . 正如您所指出的那样, rpm -ql 将文件列为存在(根据数据库,它们应该在那里) . 再举一个例子,现在你的RPM的任何 rpm -V 验证都将被破坏 - 系统认为你故意删除的文件丢失了 . rpm -Va (验证所有软件包)是许多人在尝试操作系统升级之前所做的事情,用户会认为他们需要重新安装RPM .

相关问题