2

私の要件は、rpm のインストールがクライアント マシンでいずれにせよ失敗した場合に画面にメッセージを出力することです。または、生成された理由のいずれかにより rpm のインストールが失敗するなどのメッセージを画面に表示します。

私は.specファイルでcファイルやmakeコマンドを作成していません。私が仕様ファイル自体で行っていたすべてのこと.plzは、仕様ファイルを使用してクライアントコンソールでそのようなタイプのものを印刷する方法を提案します.


はい、それは私の関心事ではありません --test 私は例を挙げました.my excet 要件は仕様ファイルの内容を下回っています。

#Pre-Uninstall section

%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をアンインストールしようとします

rpm -ev xyz

output : 両方のメッセージがサービス ステータスに従って出力されます。オプション -v を使用してクライアントをアンインストールする場合、それ以外の場合は画面にメッセージを表示する必要があります。これどうやってするの?

4

2 に答える 2

3

印刷先STDERRは常にクライアントに表示されます。STDOUT詳細オプションを指定してインストールした場合に表示されます。

echo 'Something may be wrong!' > /dev/stderr
于 2012-12-04T09:59:07.517 に答える
-1

%pre%post%preunおよび%postunセクションを定義できます。パッケージの現在のインストール数をパラメーターとして取得します。ここを参照してください。

RPM ブックのそれぞれのセクションで、これらのスクリプトに関する詳細が説明されています。基本的に、スクリプトは実行前にファイルに書き込まれてから実行されます。

于 2012-12-04T08:48:49.577 に答える