Software installation opinions needed

Karl Denninger karl at naitc.naitc.com
Tue Sep 25 03:17:52 AEST 1990


In article <649 at silence.princeton.nj.us> jay at silence.princeton.nj.us (Jay Plett) writes:
>In article <1990Sep20.160212.241 at naitc.naitc.com>, karl at naitc.naitc.com (Karl Denninger) writes:
>> For commercial software (I publish a package under my own name, not AC
>> Nielsen) there is a good reason to run as root.  Namely, you have to do a
>> LOT of things as root to get the package installed.
>> 
>> For example, our package requires:
>> 
>> o)	Installation of two user id's in /etc/passwd under some
>> 	circumstances (ie: if you select one of the options).
> . . .
>> o)	Installation of a group in /etc/group if it's not already there.
>> 
>> o)	Creation of a parameter file in /etc (so the rest of the package
>> 	can "find itself" when it runs).
>
>I can't think of three better reasons why an install script shouldn't
>run as root.  If you think you have to do these things, you don't
>understand how people are using computers.  Each of these things should
>be done independently and manually by the installer, who should be
>given clear and concise step-by-step instructions together with an
>explanation of why they are necessary, how they will be used by your
>software, and what alternatives are available if your preferred modus
>operandi won't work at the installer's site.

I don't understand how people are using computers eh?  Add some ad-hominen
in there for good measure too, no?

I disagree with the "manually and by the installer" bit.  First off, there 
are a LOT of people who aren't good enough with Unix to do it manually and 
by themselves.  That's a fact, and isn't going to get better (in fact it's
getting worse as Unix becomes more and more a commodity operating system).

Software providers MUST provide products than can be installed and used by
anyone who has a system, not just GURUS.  It is unrealistic and foolish to
provide a product that requires a person with internals knowledge on staff
to successfully install it!

Secondly, ALL THE DOCUMENTATION IS IN THE MANUAL >IF< A PERSON CARES TO READ
IT, in the (wonder of wonders) installation section.  And finally, the 
script does not have to do those three things, it ASKS if you want them 
done (all except for the parameter file, which is a TEXT file, not 
executable, and has GOT to be there).

There is exactly one exception to the "must have" in the above -- you don't
need to have the captive user id installed.  The installation script asks
you if you want to do a number of things, and if the answer is "yes" it says
"Someone has to do <x> in order for the package to do <y> -- can I do it 
for you or would you care to tell me what the value for <x> is supposed 
to be?"

Now the wizard can look in the /tmp/install file we drop on the machine 
during the media load (which doesn't have to be done as root) or read the
manual, move the files by hand (easy enough), set up the group and user 
files appropriately, and create the parameter file.  All the information 
is right there in the printed documentation, with COMPLETE descriptions of 
each variable and system requirement.  OR, if they're not inclined to do 
that, or unable to (lack of knowledge perhaps?) they can run /tmp/install 
and have the installation do it for them.  The install program tells them 
what it's about to do before it does it, so the installer can always say 
"no thanks, I'll do that".

However, I bet the chance of your making a mistake doing it "by hand" and 
hosing your machine far exceeds the chance of the script making that same 
mistake and leaving you with a system that can't be logged into.

Fancy the fact that out of all the copies we have out there, there isn't 
a single installation I'm aware of that hasn't opted to use the install
script.  You see, it is the difference between taking 1 minute and 30
minutes to do the installation, and the installation never seems to 
forget to do something like set the permissions on the files it 
copies over.

--
Karl Denninger	
kdenning at genesis.naitc.com

Of course these are my opinions.  Do you think anyone else would have them,
say much less pay for them?



More information about the Comp.unix.admin mailing list