[CentOS-devel] /etc/redhat-release

Todd Rinaldo

toddr at cpanel.net
Wed Jun 11 22:51:41 UTC 2014


On Jun 10, 2014, at 2:44 PM, Manuel Wolfshant <wolfy at 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 at 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





More information about the CentOS-devel mailing list