gpt4 book ai didi

upgrade - RPM 升级卸载 RPM

转载 作者:行者123 更新时间:2023-12-03 09:38:00 29 4
gpt4 key购买 nike

我正在升级我们的项目 RPM。问题是当我从 projectname-1.0-0 升级到 projectname-1.0-1 时,它首先安装新项目并卸载旧项目,总的来说,这完全删除了我的项目。我在升级时使用了“vv”选项,输出显示安装后已完成卸载。

有人请帮助解决这个问题。在 RPM 规范或 rpmbuild 选项中有什么我应该特别改变的吗?

最佳答案

是的,当发生 RPM 升级时,RPM 首先安装包的新版本,然后卸载旧版本的包。仅删除旧包的文件。但是您的脚本(即 %pre、%post、%preun、%postun)需要知道它们是在处理升级还是只是简单的安装或卸载。

rpm 命令将向您的脚本传递一个参数,即 $1,它是已安装的软件包版本数的计数。下表(来自 Eric Foster-Johnston 的 RedHat RPM 指南)提供了可能值的示例。

Install the first time:          1
Upgrade: 2 or higher
(depending on the number of versions installed)
Remove last version of package: 0

因此,在您的 %preun 中,您可能想在删除任何服务之前检查“$1 = 0”。

有关更多信息(以及更好的表格),请参阅: http://docs.fedoraproject.org/en-US/Fedora_Draft_Documentation/0.1/html/RPM_Guide/ch09s04s05.html

关于upgrade - RPM 升级卸载 RPM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7398834/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com