Identifying your Unix flavor.

Identifying your Unix flavor.

This section lists a number of things you can look at in
attempting to identify the base flavor of your Unix. Given the
significant exchange of code and ideas between the various
flavors and the many changes made by vendors, any statement such
as "this Unix is an SVR2" is at best a statistical statement
(except for some SVRn ports). Also many Unices offer most of
both worlds (either mixed as in SunOS or strictly separated as in
Apollo?). So this section is perhaps not very useful...

The list of features in previous sections can also help. For
example, if a system has a poll(2) but no select(2), it is highly
probable that it is derived from SVR3. Also the name of the OS
can provide a clue, as well as the logon message (e.g. SGI's
"IRIX SVR3.3.2") or the output of "uname -a" command. Available
commands can also provide hints but this is probably less
reliable than kernel features. For example, the type of terminal
initialization (inittab or ttys) is a more reliable indicator
than the print subsystem.

Feature Typical in SVRx Typical in xBSD

kernel name /unix /vmunix
terminal init /etc/inittab /etc/ttys (only getty to 4.3)
boot init /etc/rc.d directories /etc/rc.* files
mounted FSs /etc/mnttab /etc/mtab
usual shell sh, ksh csh, #! hack
native FS S5 (blk: 512-2K) UFS (blk: 4K-8K)
file names <= 14 bytes file names < 255 bytes
groups need newgrp(1) automatic membership
SVR4: multiple groups
print subsystem lp, lpstat, cancel lpr, lpq, lprm (lpd daemon) ??
terminal control termio, terminfo, termios (sgtty before 4.3reno)
SVR4: termios (POSIX) termcap
job control >= SVR4 yes
ps command ps -ef ps -aux
multiple wait poll select
string fcns memset, memcpy bzero, bcopy
process mapping /proc (SVR4)

As we move to the late '90s, this is probably less and less relevant.



Home FAQ