Check out the new USENIX Web site.

Soft: A Software Environment Abstraction Mechanism

Remy Evard and Robert Leslie
Northeastern University


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 Membership Information.