首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在虚拟rpm包中提供rpm包

在虚拟rpm包中提供rpm包
EN

Stack Overflow用户
提问于 2015-02-03 02:18:42
回答 1查看 584关注 0票数 0

我想在一个虚拟的RPM包中提供一些不包括文件的RPM包。

情况是,我用buildroot创建了一个嵌入式系统,然后RPM负责版本控制。由于这个原因,buildroot镜像在物理上总是有最新的RPM包内容,但是应该有人告诉RPM它们已经存在了。

我知道这些文件可能是在一个基本的虚拟包中提供的,在RPM规范文件中使用'Provides:‘关键字。我想提供带有版本号的包,而不是rpm包中的单个文件。

例如。

代码语言:javascript
复制
App1.0-1.rpm requires lib3.0-4.rpm and they already exist on my
package server. The buildroot image already includes files that
lib3.0-4.rpm provides. I want to define a package with name
buildrootbase2.0-1.rpm parallel to my root file system image that
prevents reinstallation of lib3.0-4.rpm while App1.0-1.rpm is
installed.
EN

回答 1

Stack Overflow用户

发布于 2015-02-10 04:11:22

Provides:更常用于包而不是文件,并且它支持版本检查:

代码语言:javascript
复制
Provides:        foo-bar = 2.1.3-2b

第二个问题更难回答。你将需要使用触发器来完成你想要做的事情。

触发器具有一些特殊的语法,旨在根据现有软件包以及rpmdb在安装/卸载目标软件包或更多软件包之前和之后的状态来控制何时执行操作以及执行哪些操作

我不知道有什么好的使用触发器的教程,但你可以阅读这篇PDF,它将触发器用在一些“不寻常的”事情上,解释了它们是如何在这个过程中工作的:

http://www.redhat.com/promo/summit/2010/presentations/summit/opensource-for-it-leaders/thurs/pwaterma-2-rpm/RPM-ifying-System-Configurations.pdf

实际触发器的解释在第23页左右开始。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28284143

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档