[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: New uname option to query exact OS distribution
From: |
G. Vamsee Krishna |
Subject: |
Re: New uname option to query exact OS distribution |
Date: |
Mon, 23 Aug 2004 21:20:41 +0530 (IST) |
Hello,
If no one else is trying to implement these features, I'd like to
give it a shot.
regards,
GVK
On Sun, 22 Aug 2004, Markus Kuhn wrote:
> Feature proposal for POSIX uname:
>
> At present, the 'uname -o' command simply gives GNU/Linux for any of the
> many Linux distributions. Since these distributions differ often very
> significantly, it would be useful if uname could also identify the OS
> distribution and version that it came with. I believe, the granularity
> of the fields provided traditionally by uname is no longer sufficient
> and additional fields are necessary to distinguish between exact
> distribution variants of the same operating system. The presence of the
> lsb_release in the LSB Core specification is an indication that uname as
> currently defined by POSIX no longer fulfills its role adequately.
>
> I propose to review uname and extend it appropriately such that other
> new non-POSIX OS identification mechanisms such as lsb_release become
> unnecessary. As a start, I suggest to add new command line options to
> uname to distinguish between operating system distributions:
>
> For example, this could look like:
>
> $ uname -d
> SuSE Linux Professional 9.1 (DVD 32-bit)
> $ uname -d
> Red Hat Linux 9
>
> The information could be split up further into four fields:
>
> - DISTRIB_VENDOR. This is the commonly used colloquial shortname of
> the vendor or organization that prepared the installable OS
> distribution. Colloquial should mean that this name should be free
> of legal designators (i.e. use "Sun" and not "Sun Microsystems Inc.").
> (e.g. "SuSE", "Red Hat", "Novell", "Sun", "IBM", "Mandrake", "Debian")
>
> - DISTRIB_PRODUCT: This is the product name, without the vendor
> name (which typically precedes it immediately), and also without the
> version number (which typically follows immediately afterwards).
> (e.g. "Linux", "Linux Professional", "Enterprise Server",
> "Terminal Server", "Home Edition")
>
> - DISTRIB_RELEASE: Typically a dot-separated list of integer
> numbers. Where this is a release date instead of a version number,
> the ISO 8601 notation should be used.
> (e.g., "8", "9.1", "2004-12-31")
>
> - DISTRIB_ATTRIBUTES (optional): This is a list of optional attributes
> such as CPU type, installation source medium, regional variant, etc.
> that distinguish several available variants of the same product version.
> The individual attribute in this list should not contain any whitespace
> or parenthesis and should be separated by a single whitespace.
> (e.g., "DVD 32-bit", "FTP i586", "CD Amiga nocrypto")
>
> These fields can be made individually accessable:
>
> $ uname -d
> SuSE Linux Professional 9.1 (DVD 32-bit)
> $ uname -dv
> SuSE
> $ uname -dp
> Linux Professional
> $ uname -dr
> 9.1
> $ uname -da
> DVD 32-bit
>
> The suggested output format is very simple:
>
> If DISTRIB_ATTRIBUTES is non-empty
>
> "%s %s %s (%s)\n", DISTRIB_VENDOR, DISTRIB_PRODUCT, DISTRIB_RELEASE,
> DISTRIB_ATTRIBUTES
>
> otherwise
>
> "%s %s %s\n", DISTRIB_VENDOR, DISTRIB_PRODUCT, DISTRIB_RELEASE
>
> Note: I deliberately did not include in this proposal an extra field for
> a release code name (as can be queried via 'lsb_release -c'). Most
> vendors do not use or publish such release project code names. They also
> add no information beyond DISTRIB_RELEASE and lack the temporal ordering
> implied by a version number.
>
> Suggested implementation for uname in GNU coreutils:
>
> There is little point in trying to autodetect this, as there is no
> portable and predictable way yet to find out this information (uname -d
> is meant to become exactly that). The person preparing uname for
> inclusion into a distribution package will have to manually provide
> values for these four fields in a configuration file. To ensure that
> this is not forgotten, the uname distribution should refuse to compile
> out of the box, until these values have been configured.
>
> Related files:
>
> /etc/*-release, /etc/issue, /etc/issue.net, /etc/motd, /usr/bin/lsb_release
>
> Related specifications:
>
> - http://www.opengroup.org/onlinepubs/009695399/utilities/uname.html
> - http://www.opengroup.org/onlinepubs/009695399/functions/uname.html
> - http://www.linuxbase.org/spec/booksets/LSB-Core/LSB-Core.html#LSBRELEASE
> - http://cvs.openpkg.org/openpkg-src/openpkg/platform
>
> Markus
>
>
--
Real programmers don't work 9 to 5. If any real programmers are around at 9am
it's because they were up all night.
Re: New uname option to query exact OS distribution, Paul Jarc, 2004/08/23
Re: New uname option to query exact OS distribution,
G. Vamsee Krishna <=
Re: New uname option to query exact OS distribution, Paul Eggert, 2004/08/24