i want to check the rpm i have created is install or update by user(client) like

rpm -ivh abc.rpm

or

rpm -Uvh abc.rpm

is their any %command in spec file to get info regarding this command.

my requirement is if i have a rpm named abc-0.1-2.rpm and now user want to install it prior installing abc.0.1-1.rpm with command rpm -ivh abc.0.1-2.rpm then it allow to install or user directly update rpm with command rpm -Uvh abc.0.1-2 before installing the older version then stop to doing this.

有帮助吗?

解决方案 2

Your %pre[un] and %post[un] scripts are given "a number representing the number of instances of the package currently installed on the system, after the current package has been installed or erased," so that tells you if the RPM is currently installed or not. See this section of Maximum RPM.

其他提示

To expand on the above:

In your %post[un] or %pre[un] sections there's a variable you can check to see if this package already exists on the system (is being updated/cleanup from upgrade) or not (first time install/final uninstall).

It looks like this:

%post
if [ $1 -eq 1 ]; then
    echo "First install complete"
else
    echo "Upgrade complete"
fi
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top