全て、
rpm.spec ファイルを使用して RPM パッケージを作成しました。パッケージは正常にインストールされました。rpm -e を使用してパッケージを削除すると、RPM データベースから削除されました
ただし、pkg が作成したディレクトリ構造は削除されませんでした。
この問題を解決するのを手伝ってください。
スペック ファイルにはいくつかの問題があります。
%files
セクションは空です、あなたのRPMにはファイルがまったく含まれていません(試してみてくださいrpm -ql packagename
);%pre
andで行い%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 などのツールを使用した方がよいでしょう。