On Mon, 16 Aug 2010, Amol P wrote:
Hi all,
Please have a look of RPM installation output when carried out for two
diff version one after the another. The Installed version is obtained by
"rpm -qa | grep mypkg" to check the version which got installed after any
rpm -i/-U comand.
--------------------------------------------------------------------------------
----------
#1 rpm -Uvh mypkg-2010.05.1.18.noarch.rpm
-PRE-IN:$1=1
-POST-IN:1=1
-Installed Version: mypkg-2010.05.1.18.noarch
--------------------------------------------------------------------------------
----------
#2 rpm -Uvh mypkg-2010.05.2.2.noarch.rpm
- PRE-IN:$1=2
- POST-IN:$1=2
- PRE-UN:$1=1
- POST-UN:$1=1
- Installed Version: mypkg-2010.05.2.2.noarch
--------------------------------------------------------------------------------
----------
#3 rpm -Uvh mypkg-2010.05.2.2.noarch.rpm --force
- PRE-IN:$1=2
- POST-IN:$1=2
- Installed Version: mypkg-2010.05.2.2.noarch
--------------------------------------------------------------------------------
----------
#4 rpm -ivh mypkg-2010.05.1.18.noarch.rpm --force
- PRE-IN:$1=2
- POST-IN:$1=2
- Installed Version: mypkg-2010.05.1.18.noarch, mypkg-2010.05.2.2.noarch
--------------------------------------------------------------------------------
----------
#5 rpm -ivh mypkg-2010.05.2.2.noarch.rpm --force
- PRE-IN:$1=3
- POST-IN:$1=3
- Installed Version: mypkg-2010.05.1.18.noarch, mypkg-2010.05.2.2.noarch
--------------------------------------------------------------------------------
----------
In observation #4, why both versions are in RPM database. Any other way
by which we can remove the higher version package when we are trying to
install/update the lower version package
Because you're installing, not upgrading. Rpm permits several versions of
a single package to be installed simultaneously if you install instead of
upgrading (typically used for the kernel package).
In observation #5, a new player comes in $1=3. Is it new feature or
some strange.
It's basically an artifact of using --force.
Also, how to remove the newer package & its installed stuff, when I am
trying to install/update a LOWER version package forcefully. Is it
possible or some tweaking required?
If you're using rpm cli to do the job, you can use --oldpackage to tell
rpm to downgrade:
[root@dhcp102 noarch]# rpm -Uvh foo-0.2-1.noarch.rpm
Preparing... ###########################################
[100%]
1:foo ###########################################
[100%]
[root@dhcp102 noarch]# rpm -q foo
foo-0.2-1.noarch
[root@dhcp102 noarch]# rpm -Uvh --oldpackage foo-0.1-1.noarch.rpm
Preparing... ###########################################
[100%]
1:foo ###########################################
[100%]
[root@dhcp102 noarch]# rpm -q foo
foo-0.1-1.noarch
The more generic answer though: use an epoch to override the normal
version comparsion, making the older package "win" the version comparison,
so regular update without special cli-switches will work.
- Panu -
_______________________________________________
Rpm-list mailing list
Rpm-list@xxxxxxxxxxxxx
http://lists.rpm.org/mailman/listinfo/rpm-list