There are two formats of the
osid.dat
file possible. One (the file format known from the SFI-Director, that suited
the requirements for more then ten years from 1996 to 2008) considers the
uname -rs
combinations.
The new slightly extended format (needed due
to the operating system vendors started to distribute identical operating
system versions on different platforms) considers the
uname -rsm
combinations.
The used format and the osid.dat file to be used for your environment can be configured in the osid.cfg(4) configuration file.
The default is still the SFI format.
This list defines a unique identifier for each combination of OS release ( uname -r ) and OS version ( uname -s ). It maps these two values to OSID. This is defined to separate different OS and release levels. If two different releases are sufficiently close to each other, they may be mapped into the same OSID. The command osid processes a uname -rs and compares the result with the contents of edrc/etc/osid.dat. If the result matches to an entry, the corresponding OSID is returned.
This list defines a unique identifier for each combination of OS release ( uname -r ), OS version ( uname -s ) and machine type ( uname -m ). It maps these three values to OSID. This is defined to separate different OS, release levels and platform types. If two different releases are sufficiently close to each other, they may be mapped into the same OSID. The command osid processes a uname -rsm and compares the result with the contents of edrc/etc/osid.dat. If the result matches to an entry, the corresponding OSID is returned.
Due to the fact, that especially on Linux operating systems, the uname -r output changes also when patches are installed and not only on operating system release upgrades as on Solaris or HPUX, the first three fields of the edrc/etc/osid.dat file in the WA2L format are treated as regular expressions, by default. This enables, to resolve the OSID more reliable.
Be aware, that all regular expressions in the file are correct, else the OSID resolution might fail.
Definition example using regular expressions:
Linux:2.6.35.[0-9][0-9]-[0-9][0-9].fc14.i686:i686:Linux:Fedora Core 14:
This definition does the job, but is not completely correct due to the fact that a dot ( . ) allows to be replaced by any character and therefore should be escaped using the backslash ( \\ ). However, the danger to map a wrong OSID to the operating system not escaping the dots might often be low and you have to decide by your own, if it is more important to have a more easy to read definition, not escaping the dots, or to have a more correct definition, by escaping the dots. For more info to regular expressions regexintro(4).
Definition example using regular expressions strictly:
Linux:2\.6\.35\.[0-9][0-9]-[0-9][0-9]\.fc14\.i686:i686:Linux:Fedora Core 14:
Definition example not using regular expressions:
Linux:2.6.35.11-89.fc14.i686:i686:Linux:Fedora Core 14: Linux:2.6.35.12-90.fc14.i686:i686:Linux:Fedora Core 14: Linux:2.6.35.13-91.fc14.i686:i686:Linux:Fedora Core 14:
OS:release:OSID:Comment
OS:release:machine:OSID:Comment
This is free software; see edrc/doc/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.