Difference in conflict resolving between yum and rpm installs

 
Thread Tools Search this Thread
Operating Systems Linux Red Hat Difference in conflict resolving between yum and rpm installs
# 1  
Old 12-31-2012
Difference in conflict resolving between yum and rpm installs

Hi Guys,

I am trying to test installation of a local rpm to my RHEL5 server. I am expecting it to fail as a previous version of the same package name exists. On using rpm -i this behaves as expected but yum install does not pick up the conflict. Here is the element of my SPEC file with the conflict logic -

Code:
Conflicts:    BCCAWAAE113v1_DEV <= 1-8, BCCAWAAE113v1_UAT <= 1-8, BCCAWAAE113v1_PRD <= 1-8
 
root@ldnpsr36282 PROD # rpm -qa | grep -i cawaae
BCCAWAAE113v1_DEV-1-8
root@ldnpsr36282 PROD # rpm -i BCCAWAAE113v1_DEV-1-9.noarch.rpm
error: Failed dependencies:
        BCCAWAAE113v1_DEV <= 1-8 conflicts with BCCAWAAE113v1_DEV-1-9.noarch
root@ldnpsr36282 PROD # yum install BCCAWAAE113v1_DEV-1-9.noarch.rpm
Loaded plugins: downloadonly, security
Setting up Install Process
Examining BCCAWAAE113v1_DEV-1-9.noarch.rpm: BCCAWAAE113v1_DEV-1-9.noarch
Marking BCCAWAAE113v1_DEV-1-9.noarch.rpm as an update to BCCAWAAE113v1_DEV-1-8.noarch
Resolving Dependencies
--> Running transaction check
---> Package BCCAWAAE113v1_DEV.noarch 0:1-9 set to be updated
--> Finished Dependency Resolution
Dependencies Resolved
========================================================================================================================================================================
 Package                                    Arch                            Version                        Repository                                              Size
========================================================================================================================================================================
Updating:
 BCCAWAAE113v1_DEV                          noarch                          1-9                            /BCCAWAAE113v1_DEV-1-9.noarch                          273 M
Transaction Summary
========================================================================================================================================================================
Install       0 Package(s)
Upgrade       1 Package(s)
Total size: 273 M
Is this ok [y/N]:

Any ideas why yum install works? This is what our platform team use to deploy. I am expecting a failed dependency. Is it something to do with me trying to install the rpm locally? I have been going round in circles with this and just can't work out why they are behaving differently.

Thanks.
G.

Last edited by jim mcnamara; 12-31-2012 at 01:53 PM..
# 2  
Old 01-01-2013
That is the expected behavior for rpm. You were trying to install the package over an existing package. Try the rpm -U or -F options and see the difference.
# 3  
Old 01-02-2013
Thanks for your reply.

I am not questioning the behaviour for rpm -i as I would expect that to fail, given a previous version is already installed but why is 'yum install' allowing the package to install when the previous version is already there? I thought it would fail in the same fashion as 'rpm -i' given the previous version is already installed and I have it declared as a conflict also.

Thanks again.
G.
# 4  
Old 01-02-2013
You are telling yum to install a particular version ( -localinstall) - hence that is what it is going to do, i.e. resolve the dependencies if possible and install package.
# 5  
Old 01-03-2013
Just to point out, yum install by default will install if no package present and update if it is present.

This has found it does not need to install only update:
Code:
Install       0 Package(s) Upgrade       1 Package(s)

# 6  
Old 01-08-2013
Thanks Guys, that is really helpful but here is my issue.

I need to find away (within the package - not yum.conf) of preventing an install upgrading my package via yum install if a previous version exists.

Basically, I can have a DEV, UAT and PRD package installed on the same server at one time and they have many shared files so upgrading DEV, would break UAT and PRD at the older version. My preference would be for it to abort and advise that all packages need to be removed (DEV/UAT/PRD) before the new version is installed.

Is there an easy way to achieve this? Can I just do an rpm -qa packagname and exit 1 in the pre section or is there a simpler way?

Alternatively, is there a way in the spec file to ensure that if I upgrade DEV, that UAT and PRD get updated at the same time.

Thanks for everyone's help.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Solaris

Yum, rpm, apt-get install command not found in Solaris

I am using solaris 10 yum command not found apt-get install command not found rpm command not found how to use yum and apt-get command in solaris how to install dhcp, openldap-servers packages in solaris (4 Replies)
Discussion started by: ainstin
4 Replies

2. Red Hat

Yum - resolving missing dependencies that are not missing

I am trying to install VirtualBox on RHEL 5 but I need the 32 bit version for 32 bit Windows. When I run yum I get the following: sudo yum localinstall /auto/spvtg-it/spvss-migration/Software/VirtualBox-4.3-4.3.2_90405_el6-1.i686.rpm Loaded plugins: fastestmirror Setting up Local Package... (13 Replies)
Discussion started by: gw1500se
13 Replies

3. UNIX for Dummies Questions & Answers

Yum gives error : filename does not end in .rpm.

Hi there /root #yum localinstall sg3_utils Loaded plugins: product-id, refresh-packagekit, subscription-manager Updating Red Hat repositories. Setting up Local Package Process Skipping: sg3_utils, filename does not end in .rpm. Nothing to do /root # above is the error /root... (6 Replies)
Discussion started by: heman96
6 Replies

4. UNIX for Advanced & Expert Users

Difference between Unix and Linux for resolving symbols

I came across a difference between Unix and Linux, when it comes to resolving the symbols from the libs. consider the following code segments... $ cat call1.c #include <stdio.h> int a1; extern int a3; void prnt_a3() { printf("\n%d\n",a3); } $ cat test.c #include <stdio.h>... (12 Replies)
Discussion started by: snowline84
12 Replies

5. Linux

Difference in binary file sizes after deploying package via yum/rpm

Hi Guys, I have an issue whereby I package up an rpm and when I deploy it, the binary filesizes differ from what I packaged up from the SOURCE directory. from source - -rwxrwxr-x 1 user group 685156 Sep 26 15:50 cybAgent.bin after install - -rwxr-xr-x 1 user group 683388 Oct 16 11:10... (4 Replies)
Discussion started by: gazza-o
4 Replies

6. UNIX for Advanced & Expert Users

How to install .rpm file from a directory using yum?

Hello Everybody, I am having a cluster which is not connected to internet. I want to check its performance do I downloaded required packages from the internet and copied them in a particular folder. As per the instructions given at http:... (6 Replies)
Discussion started by: albertspade
6 Replies

7. Red Hat

Difference between %install and %files section in rpm building ?

Hello, I am just a newbie and have very recently started building rpms, i build a very simple rpm that packaged 3 files and everything worked very smoothly. However to be very honest i am not very much clear with what is the difference between %install and %files section. I mean like we... (0 Replies)
Discussion started by: Rohit Bhanot
0 Replies

8. UNIX for Dummies Questions & Answers

Difference between um update versus yum upgrade

Hi, I notice that CENTOS has a yum upgrade and update option. The man pages say that upgrade is the same as update with the obsolete option on. What is the obsolete option? I do not really understand the man page's description of it. Thanks (0 Replies)
Discussion started by: mojoman
0 Replies

9. Red Hat

Remote installation of rpm package (Using YUM)

Hi, I have configured YUM repository on a server and we have 10 linux machine (clients). Is there any way we can install a package on all the 10 machines from YUM repository server? Please help me. (7 Replies)
Discussion started by: uday123
7 Replies

10. Linux

where to edit yum or rpm packages to update

I am setting up a new server with the goal of porting a solaris server to centos. I want to compile some packages myself (ie) http, ssl, mysql, etc. The reason for this is the downloadable rpm packages are very old. I probably want to make sure the kernel is up to date, but the individual pages... (2 Replies)
Discussion started by: csross
2 Replies
Login or Register to Ask a Question