Software installation opinions needed

Bob Vernon bob at pta.oz.au
Fri Sep 21 09:47:10 AEST 1990


In article <25908 at shamash.cdc.com> ddh at dash.udev.cdc.com writes:
> Readers with an opinion in the above areas are invited to reply to the
> address in .sig; I can't imagine that a large number of general
> net.people have any interest in this...

I beg to differ.  This query is perfect for comp.unix.admin and it
gives me chance to get some things off my chest.

Follow-ups to comp.unix.admin

> Are there any specific "things" that an install script did that 
> particularly annoyed you?  In other words, complete this sentence:
> "Whatever you do, DON'T DO THIS..."

Whatever you do, DON'T ever ever, pretty please, don't do it, don't
even think about doing either of the following :-

(I work as a Pre-sales support engineer for my company, and I am
frequently demo-ing third-party packages.  This means installing and
REMOVING the package and there is nothing that pisses me off more than
either of the following two problems).

DONT #1 :  Do not install any program in a standard directory without
giving the installer an option of changing the location.  I hate
install programs that shove programs in /usr/bin without telling me.
On our in-house system third-party programs are always installed in
/usr/local/bin and we recommend this for customers as well.  It makes
life a lot easier when upgrade time comes around.  But this is our
preference.  Many sites would have a different opinion on the best
location for 3rd party sw.  So the install script should ask the
installer "Where do you want to install the program?".  It can
recommend somewhere if it wants.

The same goes for any data files, help files, other programs etc, etc
that your programs needs.  These should never be installed in /usr/bin
or /usr/lib unless the installer approves.  The best solution I find,
is to create various local sub-directories (eg package/bin package/lib
package/help) and set up environment variables to access.  I know some
people hate environment variables but thats OK.  Create a wrapper
script during installation that sets up all the environment and
adjusts the PATH.  This wrapper script is then the only thing that
needs to be in the Users default environment.


DONT #2:  Don't ever mess with my system files.  Eg, /etc/rc,
/etc/rc.local or god forbid /etc/passwd.  If you need a daemon started
or some cleanup done at boot time, then create a boot time script, tell
me where it is and ask me to add it to rc.local.  Or at least tell me
what you are about to do and give me a chance to change the filename
you are about to munge.  And if you must have an entry in /etc/passwd,
then tell me the details and ask me to add it.  Do NOT assume that your
passwd entry will have userid 63 and groupid 37.  Don't laugh, I've
installed a package like this.  When the install failed, I naturally
tried it again.  By the end of the day the package had 6 passwd
entries all clashing with some quite innocent user.


RECOMMODATION :  Make your install procedure nice and administrator
friendly.  (This is not the same as user-friendly).  Give me the
chance to change any install location.  Tell me what you are about to
do before you do it.  Above all, don't stuff up my system without my
approval.


Bob V!

      -m-------   Robert Vernon			  DOMAIN: bob at pta.oz.au
    ---mmm-----   Pyramid Technology (Australia)  UUCP: pyramid!pta!bob
  -----mmmmm---   328 High Street		  PHONE: +61 2 415 0515
-------mmmmmmm-   Chatswood 2067 Australia	  FAX: +61 2 417 8232



More information about the Comp.unix.admin mailing list