Go to the previous, next chapter.
This chapter has some background information on STORE: The
background and history of STORE, the authors, the current TODO
list, and where to reach us.
STORE was created out of the needs that we felt, managing a large,
heterogenous network of Unix machines. Despite claims in trade
rags, administrating unix isn't trivial. A list of factors create
complexity in the total system (different hardware, different OSes,
lots of third-party programs, different versions of "everything").
This complexity makes for a messy and unmanageable system. Some of the
most common problems a system administrator meets is:
These are the problems STORE is trying to solve.
The idea and basic concepts behind STORE has evolved from the
similar "depot" system made by NIST and CMU. The first
pilot version was implemented (mostly with shell scripts) and saw
some use on the student computing labs.
Later, a new and enhanced prototype version was implemented
on behalf of the IMF by Anders Christensen, a student at IDT, as
a half-year project (spring of 1992). It was renamed STORE so
as not to be confused with the NIST/CMU depot system.
At this time, the basic concepts were well-defined. Coming into full use
at IMF and Alkymi, many of the more practical tools made possible by
STORE was written, and needed optimizations was implemented. During the
following year, the internals of STORE changed a great deal, and
attempts was made to translate most of the programs' external interfaces
into English.
The original versions of STORE was conceived and implemented by Anders
Christensen. Arne Henrik Juul did a lot of the improvements and further
hacking as well as writing the examples on how to install software under
STORE. Steinar Bang wrote the original version of this TeXinfo document,
translating documentation written by the other two and adding some of his
own. Also involved with the underlying algorithms has been Tor Egge.
This section holds the current todo list for STORE:
-
Update the TODO list.
-
Flesh out, clarify, and generally clean up this documentation.
Write some more documentation.
-
Make a distribution and installation script for STORE.
-
Finish translation of STORE to English.
-
Make it possible to have several active versions of one application
with different support, automatically choosing between them on slaving
and uplinking.
-
Support dependencies between applications, so e.g. xdvi can be dependent
upon TeX fonts being installed.
-
Actual support of domain-specific files (almost done).
-
Make some better report generators, with automatic output
to news or mailing lists.
-
Better possibilities to ignore applications, just getting reports
when new versions arrive, or totally ignore them.
-
Automate patch generation and auto cleanup of compile trees.
-
Make the scripts more resistent to network problems.
-
Precompute disk space requirements and avoid filling up
disks. This requires some way of getting the free/total
space on the disk, which probably means requiring GNU df.
-
Make a better generic architectures file, with more
support for machines we don't have locally.
-
Better support for setuid/setgid programs. Today, you get a
message that something needs to be done, and have to fix
these problems manually.
-
Better reporting when versions change, so you don't get a trillion
messages about symlinks changed.
-
Make implementation as database of relations possible, so you don't
need the actual symlinks, but can hardlink or copy directly into
the (now) link tree.
-
Better support empty directories and directories with special
permissions. Today, only files in the version trees are significant, and
you need to add additional "nightly jobs" to fix permissions.
cclient even deletes empty directories in the link tree.
-
Make a track interface and .tar.gz interface for machines wanting to
run programs compiled for STORE by just unpacking into their /store
directories (which may be just a symlink to /local).
-
Make a track or ftp transport mode, instead of using NFS. This will
greatly boost reliability and performance over WANs.
-
Investigate the possibilities of implementing a user-level NFS server
doing the link tree to actual file conversion.
-
Make postinst more robust by checking a database of notlinks patterns,
and implement some link tree locking to avoid several people trying
to use postinst at the same time, or someone using postinst as the
same time as cclient is deleting files and running nightly commands.
-
Fix so cclient checks notlinks and complains if there's just a link,
anyway.
-
Making STORE easier to configure (creating Makefiles that will
create the directory tree, set up the "store" user's home directory
and so on.
-
Creating tools for browsing the entire STORE installation for installed
program packages. Maybe making the information available with
gopher would be a good idea?
-
Better (automatic) notification of newly installed packages. Maybe
automatically posted to USENET newsgroups or sent by email.
-
Changing the linkup and linkdown tools so that they can be
run by the owner of a particular directory. This would mean that people
could install STORE packages without knowing the password of the
"store" user (someone with system priviledges would create a package
directory and changing the user to the account of the maintainer and the
group ownership to the "store" group).
-
An install script that will attempt to infer the installation
directory and instead install into the version tree with a suitable
suffix. This is to "trick" Makefiles into installing programs
directly into the version tree. The install script should guess
the correct installation directory from names like /usr/bin,
/local/bin, and so on, to make it easier to install software
without a flexible installation setup.
For electronic mail contact, try arnej@lise.unit.no
and if
you do not receive a prompt answer, try storeadm@imf.unit.no
whereby you'll reach a greater group using STORE.
When we have made a distribution of STORE, it will probably
appear on ugle.unit.no, the local FTP server. Watch this
space for news.
To reach us by phone, try:
-
+47 73 59 30 04 - ask for Arne H. Juul or Anders Christensen
-
+47 73 59 53 45 - ask for Arne H. Juul or Anders Christensen
-
+47 73 59 35 44 - ask for Hans Vindvad
Index
arnej@lise.unit.no