Lmod[Lua-based Environment Modules System], 是一个广泛部署在HPC Clusters或者Supercomputers上的模块化环境变量管理工具。它允许用户通过命令行来加载或者卸载不同的模块[Module]来动态修改shell的环境变量,比如PATHLD_LIBRARY_PATH。这些模块一般都是对应不同版本或者配置的软件,编译器,或者库文件。

Some Commands

module avail

显示所有可用的module,同时每个同时如果一个module后面标识为(L),则表示对应的module已经加载,如果一个module后面标识为(D),则表示一个module可能有不同版本,当用户没有明确表明需要加载哪个版本时,带有(D)的module会被自动加载。

module load/unload <module>

加载或卸载对应的module,一般来说,由两部分组成<name/version>,如果没有指定version,则会加载默认module

module list

列出所有已经加载的module。

module spider <module>

根据用户提供的来搜索所有可能的module,

module show <module>

此领命会列出所有环境变量的变化,如果加载

如果想更具体的知道加载某一模块后,环境变量的变化,可以参考下面的方法

env > before.txt
module load gcc/13.2.0
env > after.txt
diff before.txt after.txt

Reference:

  1. Lmod: A New Environment Module System, https://lmod.readthedocs.io/en/latest/
  2. Lmod Github, https://github.com/TACC/Lmod