I am looking for a structured format of version info for OS-level executables, such as in /usr/bin and /usr/local/bin.  The problem we are having is the inconsistent architecture between our PROD and TEST environments and we are finding that many executables in our lower environments have had patches applied whereas PROD has not, which invalidates a lot of testing -- stuff works in TEST but doesn't in PROD because of such system discrepancies.So I would like to run a system assurance check to list all executables and get the version number but nothing else and then produce deltas.  Some commands don't support the -version option but even those that do display very verbose, free-text format of a version narrative and the version number is buried somewhere within, with no way to extract it programmatically.Alternatively, I was thinking to run a file-level cksum for every executable as an option of last resort but I was hoping that there would be a way to extract version info relevant fields programmatically.Thanks
Is there a structured format of version info for OS-level executables?
filesystems;executable;version;version control
I'm inclined to say there is no easy way to do this.  I say this because versioning is not at all a standarized procedure in UNIX/Linux or with any of the vendors at least at a program level. A suggestion might be to examine the installed package information which does contain versioning information.  However, if people install products not using the standard package manager for your distribution, then you'll have faulty information as well.To be absolutely sure, you'll probably have to go with some type of testing checksums between the systems.  