rpm -e没有删除已安装的目录

时间:2011-12-15 14:19:04

标签: rpm rpmbuild rpm-spec

所有

我使用rpm.spec文件创建了一个RPM包。该软件包已成功安装。当我使用rpm -e删除包时,它从RPM数据库中删除

但是没有删除pkg创建的目录结构。

请帮我解决此问题。

1 个答案:

答案 0 :(得分:3)

您的spec文件存在以下几个问题:

  • 您的%files部分为空,您的RPM根本不包含任何文件(请尝试rpm -ql packagename);
  • 您在%pre%post;
  • 中完成了所有工作
  • 您的%post过于复杂。

由于RPM中根本没有文件,因此在卸载时不会删除任何文件,这是合乎逻辑的。至于其他问题,如果您的%post脚本是RPM提供的文件,并且提供另一个脚本进行清理,则会好得多。然后,你的pre,post,preun和postun部分看起来像:

#no %pre

%post
/path/to/install.sh

%preun
# Only if package completely removed!
[ "$1" = "0" ] && /path/to/cleanup.sh

#no %postun

但鉴于你在这里所做的事情,你可能最好使用像Puppet这样的工具。

相关问题