如何在 spec 文件中停止服务

如何在 spec 文件中停止服务

我有这个 spec 文件,它将安装许多 rpm 包,例如 apache、mysql 等。我是 rpm 构建的新手,我确实查看了 Fedora 文档,但没有找到我的问题的答案。

如何在我的 spec 文件中添加命令以便如果我执行:

rpm -e 
yum erase

它会停止 yum eras/rpm-e 期间未停止的服务吗?

谢谢。

答案1

这可能与本案例无关,但请记住,如果您升级 RPM,rpm 将安装新版本,然后删除旧版本,因此升级后服务将关闭。为了安全起见,请执行以下操作:

%preun
if [[ $1 -eq 0 ]]
then
    service https stop
    # or what ever you want
fi

答案2

spec 文件 preun 中有一个部分在包卸载之前运行:

%preun
service https stop
# or what ever you want

相关内容