4

作成した rpm がユーザー (クライアント) によってインストールまたは更新されていることを確認したい

rpm -ivh abc.rpm

また

rpm -Uvh abc.rpm

は、このコマンドに関する情報を取得するためのスペック ファイル内の任意の %command です。

私の要件は、abc-0.1-2.rpmという名前のrpmがあり、ユーザーがabc.0.1-1.rpmをコマンドでインストールする前にそれをインストールしたい場合 、古いものをインストールする前にrpm -ivh abc.0.1-2.rpmコマンドでrpmをインストールまたはユーザーが直接更新できるようにすることですrpm -Uvh abc.0.1-2バージョンは、これを行うのをやめます。

4

2 に答える 2

8

上記を拡張するには:

%post[un]または%pre[un]セクションには、このパッケージがシステム上に既に存在する (更新中/アップグレードからのクリーンアップ中) かどうか (初回インストール/最終アンインストール) を確認できる変数があります。

次のようになります。

%post
if [ $1 -eq 1 ]; then
    echo "First install complete"
else
    echo "Upgrade complete"
fi
于 2014-03-13T19:59:07.337 に答える
1

スクリプト%pre[un]%post[un]は、「現在のパッケージがインストールまたは消去された後、システムに現在インストールされているパッケージのインスタンスの数を表す数値」が与えられ、RPMが現在インストールされているかどうかがわかります。最大RPMのこのセクションを参照してください。

于 2012-12-06T09:54:30.563 に答える