rpmlint出力:
E: use-tmp-in-%postun
仕様ファイル:
%postun
rm -r /var/aci /tmp/aci_tmp 2> /dev/null
また、パッケージを削除することもできません。
このパッケージを削除した後または削除する前に、/ tmpからディレクトリをどのように削除できますか?
答え1
可能であれば、常に%post
スクリプトを避けてください%postun
。君はそれができるアーチファイルまたはフォルダはパッケージに属します。
たとえば、フォルダ/var/aci
でファイル/tmp/aci_tmp
だとしましょう。その後、次のことができます。
%install
mkdir -p $PPM_BUILD_ROOT/var/aci
%files
/var/aci
%ghost /var/aci/* # not sure this is necessary...
%ghost /tmp/aci_tmp
この%ghost
ガイドラインの意味は次のとおりです。このファイル/フォルダが表示されたら、それは私のものです。これは、パッケージを削除すると削除されるという意味でもあります。
答え2
/tmp
これは通常tmpfsとしてマウントされるためです。パッケージに何かを入れると、再起動時に消去されます。
エラーを無視しているので、あなたの場合は大丈夫でしょう。
tmpfiles.d(5) を使用することをお勧めします。つまり、ファイルを作成/etc/tmpfiles.d/aci.conf
次の行の一部(ファイルまたはディレクトリを作成するかどうかわからない):
#Type Path Mode User Group Age Argument
f /file/to/create mode user group - content
F /file/to/create-or-truncate mode user group - content
w /file/to/write-to - - - - content
d /directory/to/create-and-cleanup mode user group cleanup-age -
D /directory/to/create-and-remove mode user group cleanup-age -