Xref: utzoo comp.unix.admin:186 comp.unix.questions:25636 Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!know!samsung!munnari.oz.au!mel.dit.csiro.au!yarra!pta!bob From: bob@pta.oz.au (Bob Vernon) Newsgroups: comp.unix.admin,comp.unix.questions Subject: Re: Software installation opinions needed Summary: I hate badly designed install programs. Message-ID: <1770@pta.oz.au> Date: 20 Sep 90 23:47:10 GMT References: <25908@shamash.cdc.com> Followup-To: comp.unix.admin Organization: Pyramid Technology Corporation, Sydney Lines: 70 In article <25908@shamash.cdc.com> ddh@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@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