TAMU SC has implemented the modules approach to managing the user environment for most commercial software installed on our systems. In UNIX operating systems, users are often required to define certain parameters that affect the computing environment and the operation of programs executed within that environment: this is usually referred to as "setting environment variables". Environment variables are most commonly used to inform the system of the location (in the filesystem) of executable programs, related documentation, or configuration files. The distinct advantage of the modules approach is that the users are no longer burdend with configuring their "environment" so that the relevant software will function as expected. That process is automated by scripts (called modulefiles) written by the staff and used by the modules package. With the modules approach, users simply "load" and "unload" modules to control the environment.
Modules provides an easy mechanism for updating a user's environment, especially the PATH, MANPATH, NLSPATH, and LD_LIBRARY_PATH environment variables to name a few.
When you get an account on hydra, your "dot-files" (files that initialize your environment as you login to the machine) should be set up correctly to use modules. If you delete or modify these files in such a way as to make modules fail, contact the SC Helpdesk for help.
You can modify your environment so that certain modules are loaded whenever you log in. To see which modules are loaded by default for you, do the following:
% module initlist
If you want to add other modules to this list of automatically loaded modules, do the following:
% module initadd modulename
where modulename is the name of the module you want loaded. Likewise, to remove a module from this default list, do the following:
% module initrm modulename
To get a usage list of module options type the following (the listing has been abbreviated to only those commands discussed in this webpage):
% module help Available Commands and Usage: + add|load modulefile [modulefile ...] + rm|unload modulefile [modulefile ...] + switch|swap modulefile1 modulefile2 + display|show modulefile [modulefile ...] + avail path [path] + list + help modulefile [modulefile ...]
- module list
- This lists all the modules which are currently loaded into the users environment.
- module avail
- This option lists all the modules which are available to be loaded. Notice that many of them have version numbers associated with them. Modules makes it easy to switch compiler application versions. The module name without a version number is the production default.
- module help modulefile
- If a module looks interesting, to get more information use this
command to display the `help' information contained within the given
hydra# module help fluent ----------- Module Specific Help for 'fluent' --------------------- Sets up environment for Fluent and Gambit
- module display modulefile
- Use this command to see exactly what a given modulefile will do to your environment, such as what will be added to the PATH, MANPATH, etc. environment variables.
- module load modulefile
- This adds one or more
modulefiles to the user's current environment. It does so silently,
unless there is a problem with a modulefile. If there is problem,
please notify the SC Helpdesk.
If you load the generic name of a module, you will get the default
version. To load a specific version, load the module using its full
% module load fluent
- module unload modulefile
- This removes the specified modules from the
user's current environment. The modules can be removed in any order.
% module unload fluent
- module switch modulefile_old modulefile_new
- This command demonstrates the true advantages of modules. Different versions of entire software packages can be replaced with a single module command.
Additional Information on Modules
The full list of switches and subcommands for the module command can be viewed with the following command:
% module helpOther information on modules can be found by reading the module man page on our systems (man module).