|Dotkit Overview | Using Dotkit | Creating Dotkit Packages | Dotkit Commands | How Dotkit Works|
The Dotkit system provides a convenient, uniform way to select among multiple versions of software installed on the LC systems. Dotkit provides a simple user interface that is standard across UNIX shells.
From the user's perspective, all software resides in and can be accessed from a central location. The user can query the system for a list and short descriptions of available software packages. Packages can be selectively loaded into or unloaded from the user's environment by name. Dotkit helps the user keep abreast of what software is available and eliminates the need to learn the intricacies (directory hierarchies, environment variables, etc.) required to use it.
Once initialized, Dotkit can be driven with just a few commands. Basically, the user instructs the system to "use" particular software packages. The Dotkit system will then carry out the necessary details in order to load the selected software into the user's environment.
Note: If you use Dotkit while building or running interactive jobs, be sure to also include any necessary statements in your batch job scripts; otherwise, your batch job may see a different environment from your build or interactive job.
Execute the following command in your shell:
(for csh or tcsh users)
. /usr/global/tools/dotkit/init.ksh (for bash or ksh users)
Note: This step will soon be automated.
The basic Dotkit commands are:
|use||List loaded packages|
|use -l||List available packages|
|use package_name||Load a package|
|use -l package_name||Read package help information|
|unuse package_name||Unload a package|
When placing use or unuse commands in your .login files, it is best to add the -q option for quiet operation, i.e.:
use -q package_name
Note: For those familiar with Dotkit, in the LC configuration, the use command unuses a package before loading it.
For more details, see the comprehensive list of Dotkit commands, functions, and special variables.
The commands and examples provided above are adequate to quickly begin using Dotkit. For more detailed information, please see the following:
|Web Page||Man Command|
|Using Dotkit||man use|
|Creating Dotkit Packages||man dk-examples|
|Dotkit Commands, Functions, and Special Variables||man dk-commands|
|How Dotkit Works||man dotkit|
If you would like to provide feedback, or if you are interested in the development or administration of Dotkit, you are encouraged to subscribe to the Dotkit open mailing list: firstname.lastname@example.org.
John L. Furlani. "Modules: Providing a Flexible User Environment" in Proceedings of the Fifth Large Installation Systems Administration Conference (LISA V), San Diego, CA, September 30–October 3, 1991: 141–152.
Richard Elling and Matthew Long. "user-setup: A system for Custom Configuration of User Environments, or Helping Users Help Themselves", in Proceedings of the Sixth USENIX System Administration Conference (LISA VI), Long Beach, CA, October 19–23, 1992: 215–223.
The ENVV package, contributed by David F. Skoll, comp.sources.misc 42, Issue 70, May 1994.
Remy Evard and Robert Leslie. "Soft: A Software Environment Abstraction Mechanism", in Proceedings of the Eighth USENIX System Administration Conference (LISA VIII), San Diego, CA, September 19–23, 1994.
John L. Furlani and Peter W. Osel. "Abstract Yourself With Modules'' in Proceedings of the USENIX Tenth System Administration Conference (LISA 96), September 29–October 4, 1996.
Yizhan Sun and Alva L. Couch. "Global Impact Analysis of Dynamic Library Dependencies'' in Proceedings of the LISA 2001 15th Systems Administration Conference, December 2-7, 2001. [Introduced the author to use, unuse as package access commands.]
The original author of Dotkit is Lee Busby, Lawrence Livermore National Laboratory. Adam Moody, also of LLNL, has made additional major contributions. The source code for Dotkit (UCRL-CODE-155929) is available for download from Sourceforge.net.
Please contact the LC Hotline, email@example.com, 422-4531, if you have any questions.