UNIX/Linux inventory - Open Source

Hello guys,

I need an open source tool that can list all the softwares installed in my unix/linux servers, the tool should list all the softwares installed and the current version, grouped by the hostname, anybody know any solution for this specific problem?

Thanks guys, have a good day!

Usually your package manager (e.g. synaptic for Ubuntu) does exactly this, albeit for the node only that it manages.

But I need something that is like zabbix, an agent installed on each node that sends reports to a central node, maybe with synaptic I'll need to check each server manually.

Hi.

These are simple CLI tools:

System hardware (only) detection, reporting

        1) lshw, lspci, lsusb, lshw-gtk

        2) hwinfo

        3) hardinfo, in a GTK+ window

        4) dmidecode

        5) discover

        *) See also "inventory" for combination software, hardware reporting

System information, detection, reporting, inventory software, hardware

        1) inxi
           https://github.com/smxi/inxi (verified 2016.08.16)

        2) platinfo  (need python)
           http://directory.fsf.org/wiki/Platinfo

        3) screenfetch
           https://github.com/KittyKatt/screenFetch

        4) sysinfo
           https://www.novell.com/communities/coolsolutions/cool_tools/sysinfo/

        5) config.guess
           git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD

        6) system_profiler (for OS X)

Best wishes ... cheers, drl

1 Like

Hello drl, thanks for your answer, but for my specific needs I dont think any of them could help me. Like I said I need an agent-like tool, that I can easily install in lots of linux servers to give me a full list of softwares installed in each server, that is!

No tools that I can think of will do all what you want... In all cases you will have to do some extra scripting...
Have you looked at cfg2html?

Notice that "Linux" does not have a standardized package manager at all. In fact Linux is basically a kernel, not an OS and what makes it a complete OS is a bunch of GNU-tools added to it. Whoever does that adding choses and selects what he deems relevant and this way different "distributions" come to pass.

Because of this there is no package manager and the different distributors (the people/companies creating the distributions) created their own package managers. The two probably most widespread are rpm (RedHat Package Manager), developed by RedHat and used by: RedHat, SuSE, CentOS, Fedora, RHEL and perhaps a few more and apt , developed by Debian and used an all Debian-based distributions (Debian, *Ubuntu, Mint, etc.). There are other package managers either, but there are even distributions without a package manager (Gentoo and ArchLinux, IIRC) at all.

If you want an agent-like software to create a software inventory over various systems you will either have to limit which distributions (more precisely: which package managers) you want to support or perhaps write your own.

I hope this helps.

bakunin

1 Like

Hi.

Good idea about using a package manager.

Here are some details of an almost-universal package manager that might be able to be used in a software-listing mode; version 2.3.13 is available at:

pacapt   Manage packages (often repository) in variety of environments. (what)
Path    : ~/bin/pacapt
Version : version '2.0.1'
Length  : 1366 lines
Type    : a /usr/bin/env bash script, UTF-8 Unicode text executable
Shebang : #!/usr/bin/env bash
Help    : probably available with -h,--help
Home    : https://github.com/icy/pacapt (doc)

It supports 14 various package managers.

Best wishes ... cheers, drl