Soft: A Software Environment Abstraction Mechanism
Remy Evard and Robert Leslie
In a traditional UNIX environment, software is installed in many
different locations across a distributed filesystem. In order to
effectively use the software, users must correctly configure their
PATH, MANPATH and other related shell environment variables. A large
and dynamic software environment can cause havoc for users as they try
to locate programs not in their PATH, resolve filename collisions, and
keep up with changes made by administrators, while attempting to
update their startup files. In turn, administrators must notify users
of new directories or values to put in their files and must spend time
debugging users' environments.
A layer of abstraction between the available applications and the way
those applications are made available to users through environment
variable settings adds a great deal of flexibility for both users and
administrators. Administrators can configure and modify software
installations without having to notify users of changes. Users may
simply indicate which sets of software they desire to use, or they may
create arbitrarily complex user-specific modifications. We have
implemented this with a mechanism that does not lose speed at login
time and which does not use any special shells.
Download the full text of this paper in
ASCII (32,426 bytes) form.
To Become a USENIX Member, please see our