rpm upgrade/freshen a glob of RPMs

Paul Becker pbecker at unidesk.com
Fri Oct 23 19:08:30 UTC 2015


rpm -U does not install all the RPMs found in the glob if some of the RPMs are already installed.
Or is this expected and my expectations are incorrect?

I have 3 example RPMs, where C.rpm depends on A.rpm and B.rpm.

   % rpm -U A.rpm B.rpm C.rpm

then A.rpm and B.rpm and C.rpm are installed as expected.

   % rpm -e C
   % rpm -Uhv A.rpm B.rpm C.rpm
    Preparing...                ########################################### [100%]
            package A.i686 is already installed
            package B.i686 is already installed

this will say A.rpm and B.rpm are already installed, but
C.rpm is not installed or updated or even mentioned in the 'rpm' output.
Is this expected that the one outdated or not-installed RPM is NOT updated?
I really expected that just the missing or outdated RPMs would get installed
when I globbed a group of RPMs.

   % rpm -U C.rpm

that works just fine after the other two RPMs are installed.

*** What is the recommended way to repeatedly install or update one changed or a new RPM
in a group of dependent RPMs?

    % rpm -U *
    % for i in * ; do rpm -U $i ; done
or
   % rpm -U *
   % rpm -F *

"rpm -F *" will do what I would expect as long as all of the RPMs at least have
an older version installed. So it seems like "-U" and "-F" are more different
than just considering if a RPM is installed already or not (as the doc suggests).
The two options also seem to treat multiple RPM arguments differently.

I am on CentOS-6.7 x86_64
and Centos-7 x86_64

% rpm --version
RPM version 4.8.0
RPM version 4.11.1

I know I could try to use 'yum' but I had other issues with that.

--thank you

--
Paul Becker
508-573-7839
pbecker at unidesk.com<mailto:pbecker at unidesk.com>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rpm.org/pipermail/rpm-list/attachments/20151023/c781a8e7/attachment.html>


More information about the Rpm-list mailing list