-
Lukáš Krupčík authoredLukáš Krupčík authored
Environment and Modules
Environment Customization
After logging in, you may want to configure the environment. Write your preferred path definitions, aliases, functions and module loads in the .bashrc file
$ cat ./bashrc
# ./bashrc
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
# User specific aliases and functions
alias qs='qstat -a'
module load PrgEnv-gnu
# Display information to standard output - only in interactive ssh session
if [ -n "$SSH_TTY" ]
then
module list # Display loaded modules
fi
!!! note Do not run commands outputting to standard output (echo, module list, etc) in .bashrc for non-interactive SSH sessions. It breaks fundamental functionality (scp, PBS) of your account! Conside utilization of SSH session interactivity for such commands as stated in the previous example.
Application Modules
In order to configure your shell for running particular application on Anselm we use Module package interface.
!!! note The modules set up the application paths, library paths and environment variables for running particular application.
We have also second modules repository. This modules repository is created using tool called EasyBuild. On Salomon cluster, all modules will be build by this tool. If you want to use software from this modules repository, please follow instructions in section [Application Modules Path Expansion](environment-and-modules/#application-modules-path-expansion).
The modules may be loaded, unloaded and switched, according to momentary needs.
To check available modules use
$ module avail **or** ml av
To load a module, for example the octave module use
$ module load octave **or** ml octave
loading the octave module will set up paths and environment variables of your active shell such that you are ready to run the octave software
To check loaded modules use
$ module list **or** ml
To unload a module, for example the octave module use
$ module unload octave **or** ml -octave
Learn more on modules by reading the module man page