LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Red Hat (https://www.linuxquestions.org/questions/red-hat-31/)
-   -   A complete Software listing for a RHEL5 box (NOT an RPM/package dump) (https://www.linuxquestions.org/questions/red-hat-31/a-complete-software-listing-for-a-rhel5-box-not-an-rpm-package-dump-829556/)

the_unforgiven7352 08-31-2010 11:06 AM

A complete Software listing for a RHEL5 box (NOT an RPM/package dump)
 
I have a need for a complete software list off of an existing RHEL 5 system.

I need this list to compare software installed to software on a government approved software list to ensure the compliance of this system.

I was given an RPM Dump, listing all the 2000+ packages on the system... This does not translate to the Government Approved software list that I have to compare to.

I do not have access to this system myself, so what ever method is prescribed for extracting the list I will have to pass along.

What I need is either:

1) A way to convert an RPM Package dump to actual software names and versions, etc.

OR

2) A method to extract a complete list of software (titles/versions/etc) from an instance of RHEL5.

Example:

Instead of knowing that "pango-devel-1.14.9-6.el5" exists on the system I need to know that "Pango v3.0.x" is installed on the system. Many packages do not relate on a one to one basis with a specific piece of software via inter-dependencies etc. (not to mention the version of the software, not the version of the package/library). The Pango example is not the best example as you can see what software is likely the source of this package; however just because this package is installed, I cannot grantee 100% that the Pango software suite is installed, just that this package was installed...

Please help if any knows a way to extract a complete software list (not a package listing) from a RHEL5 box, or a way to convert a complete RPM Dump to a complete software list (however I do not think that is a feasible or accurate option)

Thanks!

-Ben

MensaWater 08-31-2010 02:10 PM

If pango 3.x were installed your rpm list would include something like pango-3.1.1-45.7.rpm.

You can actually get quite a bit out of rpm (and/or yum) and both have formatting options to give you all the detail you want. Just note that the versions you see in RHEL are the "base" versions and have extended number beyond the base to show which RedHat patched version you're actually running. You can get info on what bug/security fixes are in those versions using the rpm commands. Typing "man rpm" and "man yum" will show you all the formatting and info you need.

Note however that some software (especially 3rd party products like Oracle) are not installed via rpm or yum but rather with their own tools so just knowing what is there via rpm/yum won't tell you the whole story for most systems. Also it is possible to download, configure and compile packages that are installed manually using make (or by putting them in place by hand) and these won't be in rpm/yum either.

If it were me I'd probably check to see that RHEL5 is approved and assume that any package I got from RHEL repositories or install media is also therefore approved. Trying to compare the hundreds of open source packages you get with an install to some odd list compiled by someone who may or may not know the RedHat way of doing things would take you forever as you see.

the_unforgiven7352 08-31-2010 03:13 PM

Thank you MensaWater, I appreciate your inputs. You make some good point. I believe my next step is going to be a clean Red Hat install and then do an RPM dump from that and compare/remove those packages as Red Hat packages. I appreciate your info. :)

Thanks,

Ben

DrLove73 08-31-2010 06:27 PM

You should/could use /var/log/yum.log for reference about installed rpm's via yum. If you use
Code:

yum localinstall xxx
to install rpm's not in any repositories, this would show all rpm's installed.

You should write a small script that can format your list as you wish it.

Like (not actual or useful code):

Code:

for loop all rows in a list

echo $(echo $row | awk '{print$5}' | awk -F\- '{print$1}" v "{print$2}')


done loop

or process output of
Code:

yum list installed


All times are GMT -5. The time now is 11:18 AM.