Subject: Re: Installation of additional software
To: Guenther Grau <s_grau@ira.uka.de>
From: Jesus M. Gonzalez <jgb@ordago.uc3m.es>
List: current-users
Date: 09/12/1994 17:05:46
	I saw the message about installing and deinstalling methods,
and I couldn't resist, since we are currently dicssing our local
schema. We are doing everything by hand, and we want to move
to some automated-tools.
> 
> [...]
> o We need an easy to use install mechanism
> 
> o We need an easy to use deinstall mechanism
> 
> o We need an easy to use configure tool for sysadmins
> 
> 
> What do you think about this? What is the best way to achieve the
> high goal of user-friendlyness? For the installation and
> especially the deinstallation, it was proposed to create seperate
> directories under /usr/local for each packet and sym-link the
> bins to /usr/local/bin and the man-pages to /usr/local/man and
> all the other files needed. 

	We use two directories: /usr/general and /usr/local. The
main point is that we want to consider lots of architectures under
/usr/general, and keep architecture-dependent files unter /usr/local.
We have /usr/general/arch/NetBSD-i386, for example. It is pointed
by /usr/local on NetBSD/i386 machines. Of course, /usr/general is
built from a mixture of NFS and automounter filesystems ---well, it
will be, now we still don't use amd---, so that is accesible under
the same path in all the machines in the network.
 
> This would easy the installation and deinstallation, but
> would impose a load of symlinks, which might confuse users, e.g.
> when they cd to a symlinked directory and cd .. and find
> themselves in a completly different directory. 

	We keep binaries in separate directories under /usr/local/installed.
We make links from /usr/local/bin, and sometimes from /usr/local/lib.
For man we are currently using MANPATH.
We have found it useful when upgrading to a new version, or when deleting
an application no longer used. It's easy: you just delete (or move)
the directory. The problem comes when trying to locate all the links
that could point to the old directory. But that isn't that hard.
You have to look for oly in a couple of dirs, and sometime you even
dont't have to touch anything: new versions use to name programs like
old ones...

> Another proposed
> method was to log everything that was installed in a special log
> file. When deinstalling a package, the deinstaller could scan the
> log file and find out, what files need to be removed. But this
> method can be error-prone, too, because if a package is removed
> by hand and not using the installer, the log-file would get
> inconsistent.

	The same if installing by hand... I agree, this method can
make life harder when locating things to delete...

> 
> So, what method should be used for the (de)installation of all
> the additional precompiled software-packages?

	We are thinking about a tool that reads a list of files and 
make links to them from /usr/local/bin or whatever. The same
list can be used to deinstall (just by deleting the links and the
dir). If you lost the list, you can do it easily by hand: you have
only well defined places to look at. And at worst, you can get a couple
of dangling symlinks... Using that in combination with /usr/general
(e.g., placing man pages under /usr/general/installed/package_name/man)
can help when you have lots of architectures. 

> 
> Besides the installation, I think, that we need a decent
> sysadmin-tool for sysadmin-beginners. With the advent of
> NetBSD-1.0, a lot of casual users might want to install NetBSD on
> their home-systems and they don't know nothing about sys-admin.
> Therefore we need a decent tool which helps to set up a system in
> an easy way (configure networking, adding/removing users,
> configure the partitions, ...). What do you think about this?
> Yes, I know, this is not the usual BSD-style, but I think that
> the user-friendlyness is a very important issue and that we have
> to deal with it.

	I also agree with that. I think we need binary repositories for
casual users, and for all of thay don't wanting to bother with compilations
and such... That is one of the best things of Linux, I think. And that
is a place where we, the non-kernel-hackers can help.

	That's all,

		Jesus.

-- 
Jesus M. Gonzalez Barahona    | Universidad Carlos III (Madrid, Spain)
tel: +34 1 624 94 58          | e-mail: jgb@inf.uc3m.es
fax: +34 1 624 94 30          |         jgb@ordago.uc3m.es
(Sometimes our headers are not o.k., please reply to any of this addresses)
.From within Universidad Carlos III, you can better use jgb@ordago.uc3m.es