0

アンインストール時にクライアント側でメッセージを印刷したいのですが、エラーの場合は常に印刷します。rpmアンインストールのような単純なメッセージの場合はオプションです。クライアントはオプション-vを使用してから印刷します(そうでない場合は)

rpm -ivh xyz.rpm for install and rpm -ev xyz for uninstall as below.

#プレアンインストールセクション

%preun
Processes=`ps -Ao"%p:%a"  --cols 150 |
 egrep "Launcher|rmiregistry" | grep -v grep | cut -d ":" -f1`
         if [ -n "$Processes" ]; then
                echo 'xyz is running ,first stop it then uninstall.' > /dev/stderr;
                exit 1;
         else
                 echo 'xyz service is not running' >/dev/stdout;
         fi

現在、上記のコードは、rpmアンインストールのたびに出力されます。

4

1 に答える 1

2

%preun では、アップグレードと削除を区別する必要があります。

*.spec ファイルでこのパターンを使用します。

%preun

if [ "$1" = "0" ]; then
    # package removal
    true; # bash doesn't like 'empty' conditional blocks
elif [ "$1" = "1" ]; then
    # package upgrade
    true; # bash doesn't like 'empty' conditional blocks
fi

次のエクストラ情報: https://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Syntax

于 2013-11-27T12:28:20.967 に答える