An Administrator's Guide to the UNIX Software Jungle
When UNIX first appeared commercially, it seemed like
a dream come
true. Exquisitely sophisticated in design, this innovative
system came complete with heavily technical software
created by programmers
specifically for the use of other programmers. It was
affair, and all UNIX users either had to be technical
or had to do
a lot of studying to become technical enough to use
Deliberately Spartan in design, UNIX was not perceived
but rather as uncluttered with unnecessary features.
If UNIX users
felt that anything was "missing," they could
anything they needed with the programming tools included
in the standard
distribution. In fact, part of the fun of being a UNIX
user was creating
your own custom environment.
However, in order to become palatable to commercial
and in order to keep pace with ongoing computer technology,
been forced to change its face.
As all administrator know, one of the biggest changes
in UNIX has
been its software. Traditionally UNIX system administrators
know UNIX inside out in order to maintain the system,
extensive knowledge of all the built-in UNIX software.
But new UNIX
versions have been coming up short a utility or two.
In fact, some
of the software traditionally considered standard on
UNIX has recently
been cut by a few OEMs, even the sacrosanct C compiler.
software omissions leave a gaping hole in the system
must fill with outside software.
Despite curious omissions in various OEM's standard
today there is more UNIX software than ever. In fact,
are literally inundated with a bewildering array of
programs, with more coming out every month. And although
we were expected to not only install but also support
all add-on UNIX
software, today that's impossible because of the sheer
variety of programs.
There are so many UNIX software packages nowadays, someone
work full time just finding and evaluating them all.
And herein lies
the administrator's dilemma. Which software should be
packages are redundant? Which ones are free? Where can
you find all
this software? Once the software is purchased, where
on the systems
do you put it? And with all the different machines on
which media do you choose? How about floating licenses?
must contend with a lot more software considerations
than they used
How can administrators cope with all this software?
A first step is
to classify the offerings.
The Standard Distribution
The base operating system is considered part of the
distribution," that is, everything shipped with
your OEM version
of UNIX. In the olden days, most UNIX versions were
and most of them had about the same level of completeness
same software; the only major UNIX differences were
and non-source versions.
We all became used to receiving standard UNIX software
in every UNIX
version. For example, a C compiler and its support software
included, and you could count on finding esoteric software
and yacc. Even fortune and whimsical games like adventure
fare in the earliest commercial UNIX versions.
This convenient state of affairs changed when suppliers
of UNIX, including
AT&T, started unbundling UNIX. Today the "standard
varies in size, depending on the version of UNIX you
fact, some UNIX versions have grown to enormous proportions.
contains a desk-top manager, a data base manager (prior
2.0), total networking software, and, if you buy it
as part of the
package, a full software development system. SCO even
lets you have
UNIX-to-Banyan network capability if you so desire.
Alas, one casualty in the name of all this so-called
progress is the
once common C compiler, now missing from some UNIX versions.
who remembers C and UNIX as intertwined entities mourns
C compilers and their accompanying tools. Extricating
C from UNIX
is a seriously misplaced priority, and I suspect that
the motive is
to recoup some of the monumental costs involved in developing
kinds of complex C compilers our new computer environments
However, on the plus side, networking software is a
must on UNIX these
days, and it has become standard.
Your users will use some of the base-level system software
with the standard distribution. For example, some of
the more skilled
and adventurous learn vi, become reasonably adept with
like sed, awk, and sort, and a few may even be
brave enough to try tr and od. But although it is always
gratifying to find users who are as intrigued with UNIX
as we administrators
are, let's face it, most users are interested in their
applications, not UNIX.
Thus, in the user-level software category, I include
all the esoteric
applications stuff that some of your users use, and
some don't, including
you. Those applications I mean are the ones customized
for your user's profession and/or specifically for your
example, engineering groups purchase specialized CAD,
CAM, or CAE
software. But whatever the software, it is not only
by some of your users, but they research what they need,
usually purchase it, and it is their world. All you
do is install
it and make a home for it.
Second-level software is everything that falls between
distribution and user-level software. Large and eclectic,
of miscellaneous software falls into two categories:
1) software that should still come with UNIX, but doesn't
have to replace it); and
2) general-purpose, add-on software that is non-esoteric,
every single user in the group, and is thus supported
What Should Remain Standard
Some new versions of UNIX come without a C compiler.
C is essential
software at technical sites, so if your version of UNIX
one, you have no choice but to run out and buy one.
C compilers aren't the only missing UNIX software. Your
site may well
house piles of text created with ancient text-processing
software (that always used to come with UNIX), such
troff, spell, and look. To keep each new version
of UNIX backwardly compatible, OEMs should also include
but in some versions these older UNIX text utilities
are being replaced
with single, full-text systems like FrameMaker, Island
Paint, and Island Draw. All this new software is great,
still need the old tools. How are we supposed to print
still viable, nroff format text files? (And how are
to format and print manual pages, for Pete's sake?)
Add-on software like Xroff can replace nroff, but OEMs
do more research into the history of UNIX before they
out classical UNIX utilities; all that software was
put there for
What May Become Standard Some Day
Old UNIX was ASCII-based, and although some sites are
many sites now use full graphics as well. Dot matrix
given way to laser printers, and quality scanners. But
UNIX doesn't have the tools to deal with all these developments,
new UNIX systems ship with at least one window manager
on top of X
Windows. Some OEMs have extended UNIX with graphics
like FrameMaker and graphics software like Island Paint
Draw. Some consider this fancy graphics software necessary,
is not yet standard.
There have always been a few missing pieces in UNIX,
and some are
technical tools that we really need on today's computer
For example, whereas UNIX has incredible built-in data
tools like sed, awk, cut, paste, and sort,
it has always come up short by not having a true data-base
finish the chain. OEMs would contribute greatly to UNIX
if they added
simple, straightforward data-base software like /rdb
rows and columns of data could be quickly manipulated.
is a simple solution because it requires little user
it is ideal for UNIX -- it is totally compatible with
commands because it uses only flat UNIX files. If sites
complex data-base software, we can purchase it, but
software like /rdb should become standard on UNIX.
UNIX's math software doesn't have awesome capabilities,
and is not
well known among users. A pure math-oriented language
77 (or better) is a good start, but for the ultimate
manipulation consider a math package such as Mathcad
If you need only plotting, consider xplot from Dux.
My users have
been pleased with this specialty package, which does
nothing but plot
collections of data points.
Acquiring UNIX Software
A lot of UNIX software is free. You can get neat stuff
such as the
PERL version of /rdb and PERL itself by anonymous ftp.
public domain versions are not as complete or as well
the commercial versions, but the price is right! The
California at Berkeley even distributes the source for
a free version
of UNIX for the X86 processor family.
When looking for free UNIX software, try the net. You
can check news
drops for the addresses of universities and bulletin
boards. You can
also use Archie, an Internet tool that finds software.
The Free Software Foundation, created by Richard Stallman,
corresponding GNU project (Gnu's Not UNIX) also maintains
free UNIX software. The GNU project has produced some
includeing nawk (the most advanced version of awk yet),
and the GNU C compiler.
UNIX Software for Purchase
Obviously, all UNIX software is not free, and the good
software you pay for is that it is supported. Also,
gives you clout with vendors. If you are paying thousands
in licenses, then you have the right to expect the vendors
to your suggestions and to answer your questions.
The Software Selection Process
As UNIX administrators, often we are expected to do
more than simply
install and support second-level software. For this
class of user
needs, administrators also may be expected to find the
Here's the basic selection process:
Look for software and vendors
Gather sales information
Ask for sample software
Run a 30-day trial
Select a product
Get purchasing approval
The best sources of information are trade publications,
so make sure
you get lots! Also, request catalogs from computer vendors
SCO, and Sun.
Unlike packages for DOS and Apple, you won't find UNIX
handy little shops like Egghead Software. You can, however,
several mail-order shops that specialize in UNIX software.
Coast examples are Highland Digital and the Qualix Group.
Highland, are value-added. In other words, they will
sell you a product
like FrameMaker and then provide first-level support
Others, like Qualix, will search for software for you,
and they have
tools that will help you search.
Once a vendor has been located, getting sales information
contact the vendor and ask. If you want a product in
bear in mind that no "slick" information will
yet. The more vendors you contact simultaneously, the
you can make comparisons. Also, getting active user
the selection process is critical. If they don't like
you'll just waste money buying the thing.
As soon as you find some promising packages, give the
a group of trusted users and rely on their qualified
it looks good to them, ask for a copy of the software
for a 30- to
Once several products have been tested, you will be
ready to make
a purchasing decision, and to start the purely bureaucratic
of getting purchase approval.
Where Do You Put It?
When you have finally located that precious software
package, where do
you put it? A lot of software manuals suggest /usr,
/usr is already overloaded on today's UNIX systems.
can install the package off to one side of /usr by mounting
/usr/local or /usr/oem in /usr. Unfortunately, even
this will become
complicated if your server supports half a dozen architectures
versions. If you have had to supply a large-scale system
Windows, you have already had to suffer with the reality
There are several solutions, but they all involve creating
mountable partitions on the server with names that are
same, such as /usr/local.sun4, /usr/local.mips, /usr/local.86,
/usr/local.decvax, /usr/local.6k and so on. You must
mount these partitions via /etc/fstab or /etc/filesystems
to /usr/local so that when you do a df you find /usr/local.aix
mounted to /usr/local. Versions are handled the same
base names just get a little longer.
While asking for new software don't forget to consider
the media problem.
Most freeware comes as compressed source. Especially
software from the net, be careful to get everything
you need for a
successful install, including the proper header files
Purchased software is complete, almost always compiled,
and is never
compressed. You need only select an appropriate medium;
but even that
can be a problem. Nine-track tape used to be standard,
but is now
a vanishing breed. Larger systems have QIC tape drives,
but the drives
and formats vary, so one manufacturer's drive may not
tape. Four- and eight-millimeter tape are becoming prevalent
but are not yet being used as a distribution media.
If you have to,
you can read software on one server's tape drive and
install it on
As for PCs, 5-1/4-inch floppies are common on older
systems, and 3-1/2-inch
are common on the newer ones. Most vendors are standardizing
96 tracks per inch, double-sided, 15 sectors for 5-1/4-inch
132 tracks per inch, double-sided, 18 sectors for 3-1/2-inch
As an administrator, your view of the UNIX software
world will differ
slightly from the views of others on your site. However,
perpective is unique and important, because over years
with UNIX, we become intimately acquainted with the
We know it from the inside out, and that perspective
About the Author
Bruce H. Hunter is the co-author, with Karen Hunter,
of UNIX Systems
Advanced Administration and Management Handbook (Macmillan: