所有
我使用rpm.spec文件创建了一个RPM包。该软件包已成功安装。当我使用rpm -e删除包时,它从RPM数据库中删除
但是没有删除pkg创建的目录结构。
请帮我解决此问题。
答案 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这样的工具。