[MLIST] Re: [olug] linux web server management ?

William E. Kempf wekempf at cox.net
Wed Dec 18 17:21:45 UTC 2002


David Walker said:
> Are you recommending that all Linux programs come with a setup.sh? And
> that they all install shortcuts to standard locations?

I think there are several issues that need solved here.

Every program should include a single script and/or executable that can be
run *WITH NO PARAMETERS* to install the program.  This setup package may
then specifically ask the user for certain settings requirements that are
currently being specified by command line options, such as where the
package should be installed to.  All dependencies should be taken care of
by this single installation process, whether this means dependencies are
bundled with the package (as is done for Windows) or some means is
employed to locate and install the dependency (as is done by
apt/portage/urpmi/etc.).

Once the program is installed, there needs to be a simple and uniform way
to configure it.  This means firstly that the configuration information
has to be located in a single, logical location, as is done on Windows
with the registry (and no, I'm not recommending that Linux use the "one
monolithic binary registry file for all applications" approach... bear
with me).  Most configuration files are located in /etc today, but not
all.  And even those that are in /etc are often located in a subdirectory,
and locating the required file(s) is difficult.  That's the "logical" part
from this requirement.  Finding the configuration information for
Application X should be intuitive, such as look in
/etc/config/Application-X.

Once located in a central, logical location, the config files should be in
a uniform format.  Just learning the "syntax" for a given application's
config files can often be a few hours worth of work.  I think XML would be
ideal for a uniform format, as it's easy to read, write and parse while
being completely open in the contents.  Better yet, if all packages also
included a formal DTD for their config file(s) you'd have a single
location to look for _unambiguous_ definitions of what tags/elements are
allowed.  What's even more important is that this single universal format
would make it trivial for GUI and/or text front ends to be built for
configuring the application, which removes the guess work and the need for
manuals (most of the time), thus VASTLY speeding up the time required to
install/configure a package one is unfamiliar with.

Many distros are trying to solve these issues, and are doing a somewhat
adequate job, proving the usefulness of the idea.  The problem is that
they are doing it as a band aid over the top of the existing mess, and
each one is doing it differently.  You have to standardize on certain
things first (such as the location and format of config files), that need
to be addressed at the application level, not the distro level.  Then we
need tools to be developed that are not distro specific for managing this
stuff.

As it is, the administrator has to become very familiar with Linux in
general, the specific application they are installing, and likely the
distro they are installing it on.  With a few standard practices, the
amount of things that must be learned can be limited, and the learning
curve can be flattened a lot.  What I learn from installing App A on
Distro X can be mostly applied to my installation of App B on Distro Y,
rather than having to relearn a large amount of arcane things with every
installation.

William E. Kempf






More information about the OLUG mailing list