On Jun 10, 2014, at 2:44 PM, Manuel Wolfshant wolfy@nobugconsulting.ro wrote:
On 06/10/2014 10:37 PM, Fred Smith wrote:
On Tue, Jun 10, 2014 at 10:28:26PM +0300, Manuel Wolfshant wrote:
On 06/10/2014 06:28 PM, Daniel Ankers wrote:
On 10 June 2014 16:19, Fred Smith <[1]fredex@fcshome.stoneham.ma.us> wrote:
Hi all! I think it was on this list, in the last week or so I saw some comment about how some apps may grope the contents of /etc/redhat-release when installing themselves, so as to figure how which OS they're running on, and there was some mention of this not being the best of all possible ideas.Hi Fred, I would have thought that "lsb_release -a" would be far more portable across varying different distributions and versions. Regards, Dan
Dan, this app is installed only on RHEL or Centos systems, so cross- distribution issues don't come up (if yu try to run the installer on, say, SUSE, it'll just error out with "unknown/incorrect distribution" or something similar.)
So the pain comes simply in telling which RHEL or centos it is. While I'm sure someone smarter could parse /etc/redhat-release in fewer lines of code than I have, it's still a pain and prone to breakage with each new version. that's where lsb_release -i -r should make life simpler.
rpm -q should make life much easier if you already know you are on centos/RHEL. just rpm -q --qf "%{vendor}\n" kernel or glibc or filesystem any other mandatory package to discriminate between the two families of distributions and then rpm -q --qf "apropriate fields here " centos-release / redhat-release to find out anything else you need.
We've been cursing this week that we didn't now about lsb_release. Just the same, our trick was similar to yours:
rpm -qf --queryformat '%{VERSION}\n' /etc/redhat-release
Which gets me the distro version, regardless of what RHEL derivative I'm querying. Yes, you're out of luck on SUSE but luckily that wasn't in my problem set.
Todd