I am having a problem understanding
modules
. In RHEL-8.8 doing an rpm -qa
shows no specific module
rpm, and doing a which module
responds with
module ()
{
_module_raw "$@" 2>&1
}
a man module
responds with *command interface to the Modules package.*
Can a simple explanation of this be given... what/where is the module package in RHEL8?
the main problem I am having is with the MODULEPATH
and MODULESHOME
environment variables. In a specialized install of RHEL-8.8 for a cluster mgr software it makes use of modules and sets these two environment variables to a single specific location... /cm/local/modules/
. But I do not know where it does this and there is no /usr/share/Modules
folder present unlike in a default install of RHEL, so my other question is what is the proper convention for setting these two environment variables when a /usr/share/Modules/init/
does not exist? I am only ever using the bash shell so I **assume** that would correspond to /usr/share/Modules/init/bash
for which has this statement within:
# define module command and surrounding initial environment (default value
# for MODULESHOME, MODULEPATH, LOADEDMODULES and parse of init config files)
_mlcode=${_mlre:-}/usr/bin/tclsh /usr/share/Modules/libexec/modulecmd.tcl bash autoinit
_mlret=$?
so I assume this is the original conventional location of MODULEPATH being set?
In a standard RHEL-8.10 install for reference this is what is under /usr/share/Modules/init/
bash fish lisp profile.csh ruby.rb tcsh_completion
bash_completion fish_completion perl.pm profile.sh sh zsh
cmake ksh profile-compat.csh python.py tcl zsh-functions/
csh ksh-functions/ profile-compat.sh r.R tcsh
Asked by ron
(8647 rep)
Jul 15, 2025, 06:00 PM