Shell Script - Compare packages. rpm
mark
m.roth2006 at rcn.com
Mon Jan 26 13:07:24 UTC 2009
Tiago Dias wrote:
> Hi,
>
> I need a script which makes the package compação rpm's through two
> text files ...
>
> Since a file is the output of the command *rpm-qa > pkg.out *
>
> And the second file is a list of several packages rpm's, multiple
> versions and architectures.
>
> My idea is to compare a package *x* file pkg.out with several
> packages *y* of the file update.out and know whether a package and has a
> larger version of the package *x* installed and with that I return I have a
> package to be updated.
>
> Does anyone can help me do this comparison?
>
> OBS.: The servers do not have access to internet.
>
> Here's an example of the packages described in the files:
>
I don't have the time to write it all out and debug it - I need to get out the
door for work in a few min, but
awk
{ read first file into associative array
if ( FILENAME == "first" ) {
file1["$1"] = 0;
}
else {
if ( $1 in file1 ) {
file1[ $1 ]++;
}
}
}
END {
for $a in file1 {
if ( file1[$a] > 0 ) {
print $a;
}
}
}
> [root at rpm tiago]# tail -n12 pkg.out
> glibc-devel-2.3.4-2.39
> libuser-devel-0.52.5-1.el4.1
> libmudflap-4.1.2-14.EL4
> iiimf-libs-devel-12.1-13.EL.6
> xorg-x11-devel-6.8.2-1.EL.33
> lam-libs-7.1.2-8
> libdbi-0.6.5-10.RHEL4.1
> unixODBC-kde-2.2.11-1.RHEL4.1
> perl-Compress-Zlib-1.42-1.el4
> MySQL-python-1.2.1_p2-1.el4.1
> nmap-3.70-1
> sysstat-5.0.5-16.rhel4
> [root at rpm tiago]#
>
> --
>
> [root at rpm tiago]# cat update.out
> glibc-devel-2.3.4-2.41.i386.rpm
> glibc-devel-2.3.4-2.39.i386.rpm
> glibc-devel-2.3.4-2.36.i386.rpm
> glibc-devel-2.3.4-2.25.i386.rpm
> glibc-devel-2.3.4-2.19.i386.rpm
> glibc-devel-2.3.4-2.13.i386.rpm
> glibc-devel-2.3.4-2.9.i386.rpm
> glibc-devel-2.3.4-2.i386.rpm
> libuser-devel-0.52.5-1.el4.3.i386.rpm
> libuser-devel-0.52.5-1.el4.1.i386.rpm
> libuser-devel-0.52.5-1.i386.rpm
> libmudflap-4.1.2-42.EL4.i386.rpm
> libmudflap-4.1.2-14.EL4.i386.rpm
> libmudflap-4.1.1-53.EL4.i386.rpm
> libmudflap-4.1.0-18.EL4.3.i386.rpm
> libmudflap-4.1.0-18.EL4.i386.rpm
> libmudflap-4.0.2-14.EL4.i386.rpm
> libmudflap-4.0.1-4.EL4.2.i386.rpm
> libmudflap-4.0.0-0.14.EL4.i386.rpm
> xorg-x11-devel-6.8.2-1.EL.52.i386.rpm
> xorg-x11-devel-6.8.2-1.EL.33.0.4.i386.rpm
> xorg-x11-devel-6.8.2-1.EL.33.0.2.i386.rpm
> xorg-x11-devel-6.8.2-1.EL.33.0.1.i386.rpm
> xorg-x11-devel-6.8.2-1.EL.33.i386.rpm
> xorg-x11-devel-6.8.2-1.EL.31.i386.rpm
> xorg-x11-devel-6.8.2-1.EL.19.i386.rpm
> xorg-x11-devel-6.8.2-1.EL.18.i386.rpm
> xorg-x11-devel-6.8.2-1.EL.13.37.7.i386.rpm
> xorg-x11-devel-6.8.2-1.EL.13.37.5.i386.rpm
> xorg-x11-devel-6.8.2-1.EL.13.37.2.i386.rpm
> xorg-x11-devel-6.8.2-1.EL.13.37.i386.rpm
> xorg-x11-devel-6.8.2-1.EL.13.36.i386.rpm
> xorg-x11-devel-6.8.2-1.EL.13.25.1.i386.rpm
> xorg-x11-devel-6.8.2-1.EL.13.25.i386.rpm
> xorg-x11-devel-6.8.2-1.EL.13.20.i386.rpm
> xorg-x11-devel-6.8.2-1.EL.13.16.i386.rpm
> xorg-x11-devel-6.8.2-1.EL.13.6.i386.rpm
> xorg-x11-devel-6.8.1-23.EL.i386.rpm
> lam-libs-7.1.2-15.el4:2.i386.rpm
> lam-libs-7.1.2-8:2.i386.rpm
> MySQL-python-1.2.1_p2-1.el4.1.i386.rpm
> MySQL-python-1.0.0-1.RHEL4.1.i386.rpm
> sysstat-5.0.5-19.el4.i386.rpm
> sysstat-5.0.5-16.rhel4.i386.rpm
> sysstat-5.0.5-15.0.1.el4.i386.rpm
> sysstat-5.0.5-14.rhel4.i386.rpm
> sysstat-5.0.5-11.rhel4.i386.rpm
> sysstat-5.0.5-7.rhel4.i386.rpm
> sysstat-5.0.5-1.i386.rpm
> nmap-3.70-1:2.i386.rpm
> [root at rpm tiago]#
>
> Att,
>
>
More information about the redhat-list
mailing list