Environment setup
Users can control the available software by environment variables which are managed by environment modules (lmod). module avail shows all modules available for  a user, e.g.  on festus:
[bt000000@festus01 ~]$ module avail  
---------------------------- Compiler ----------------------------  
  aocc/4.2    go/1.23.0      nvidia/24.7        yasm/1.3.0  
  gnu/14.1    nvidia/24.5    nvidia/24.9 (D)  
-------------------------- Interpreter ---------------------------  
  java/17.0.2    java/20.0.2        node.js/20.16.0  
  java/18.0.2    java/21.0.2        python/3.12.4  
  java/19.0.1    java/22.0.1 (D)    tcl+tk/8.6.14  
--------------------------- Buildtools ---------------------------  
  Qt/6.7.2         cmake/3.29.3              valgrind/3.23.0  
  autoconf/2.72    cmake/3.30.2       (D)  
  automake/1.16    ninja-build/1.12.1  
------------------------- Apps und Tools -------------------------  
  FFmpeg/7.1               gperf/3.1  
  GraphicsMagick/1.3.44    graphviz/12.1.0  
  R/4.4.1                  mplayer/1.5  
  Tex/TexLive24            proj/8.2.1  
  apptainer/1.3.3          proj/9.4.1        (D)  
  curl/8.9.1               sqlite/3.46.0  
  doxygen/1.12.0           subversion/1.14.3  
  fontconfig/2.15.0        swig/4.2.1  
  gdal/3.9.1               xapian/1.4.26  
  gnuplot/6.0.1
module load and module unload, respectively. 
Now lets use this to switch between two gcc versions:
[bt000000@festus01 ~]$ module purge #unload all modules  
[bt000000@festus01 ~]$ gcc --version  
gcc (GCC) 11.4.1 20231218 (Red Hat 11.4.1-3)  
Copyright (C) 2021 Free Software Foundation, Inc.  
This is free software; see the source for copying conditions.  There is NO  
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  
[bt000000@festus01 ~]$ module load gnu/14.1  
[bt000000@festus01 ~]$ gcc --version  
gcc (GCC) 14.1.0  
Copyright (C) 2024 Free Software Foundation, Inc.  
This is free software; see the source for copying conditions.  There is NO  
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
To list all loaded module simlpy user module list:
[bt000000@festus01 ~]$ module list  
Currently Loaded Modules:  
 1) gnu/14.1
Also you could try to filter for available modules:
[bt000000@festus01 ~]$ module avail cmake  
--------------------------- Buildtools ---------------------------  
  cmake/3.29.3    cmake/3.30.2 (D)
Or search for a module that depends on another one:
[bt000000@festus01 ~]$ module spider openmpi  
---------------------------------------------------------------  
 openmpi: openmpi/5.0.3  
---------------------------------------------------------------  
You will need to load all module(s) on any one of the lines 
below before the "openmpi/5.0.3" module is available to load.  
     OneAPI_2024.2  
     OneAPI_2024.2.1  
     aocc/4.2  
     gnu/14.1
Some software depends on another an will only be visible if the needed modules are already loaded:

If you need software that is not already installed, please contact the HPC administrators.