Environment Modules

什么是 Environment Modules?

 通常,用户在登录时通过为会话期间要引用的每个应用程序设置环境信息来初始化其环境;Environment Modules包 是一个简化shell初始化的工具,它允许用户在使用 modulefile 进行会话期间轻松地修改环境;

每个 modulefile 包含为应用程序配置shell所需的信息。初始化Modules包后,可以使用modulefiles的module命令在每个模块的基础上修改环境。通常,modulefiles 可以使用module命令更改或设置shell环境变量,如PATH、MANPATH等。modulefile可以由系统上的许多用户共享,用户可以有自己的集合来补充或替换共享的modulefile;

Modules 使用

Modules 使用包括 shell 命令和 modulefile 文件定义两部分内容,下面将分别进行介绍:

Modules 指令

module 安装好后,即可调用 module [command] 来查看或加载模块,主要指令如下:

➜ ~ module avail # 列出当前 module path 中的所有可用模块文件
------------------------------------------ /usr/share/Modules/modulefiles ------------------------------------------
dot  module-git  module-info  modules  null  use.own  

----------------------------------------- /home/lilongxiang/privatemodules -----------------------------------------
cmake/3.8.0

➜ ~ module load cmake/3.8.0 # 加载模块文件/类

➜ ~ module list # 显示已经加载的模块
Currently Loaded Modulefiles:
 1) use.own   2) cmake/3.8.0 

➜ ~ module unload cmake # 卸载模块文件/类

➜ ~ module list # 显示已经加载的模块
Currently Loaded Modulefiles:
 1) use.own

Modules 脚本内容

采用 module load 命令时,可用的模块其实都是安装在 module path 目录下的 modulefile 文件。一个基本 modulefile 内容如下:

#%Module -*- tcl -*-
## This is a module to access something

# 显示 module help 主要内容
proc ModulesHelp { } {
        puts stderr "This module sets up access to something" 
}

# 显示 module whatis 显示主要内容
module-whatis "sets up access to something"
# module 加载前需要模块类
prereq module_flag
# module 加载冲突模块类
conflict another_module_flag

# 加载其他模块
module load gcc
# 设置环境变量
setenv       SOMEVERION       0.95
# 添加环境变量
append-path  PATH             /home/[user]/[somedir]/bin
append-path  MANPATH          /home/[user]/[somedir]/man
append-path  LD_LIBRARY_PATH  /home/[user]/[somedir]/lib

其中包含的设置关键字有以下几个

  • prereq 指示加载此脚本需要预先加载的模块名,当这些模块没有预先加载时,module load 此模块会报错;
  • conflict 指示与此模块冲突的其他模块类,注意这里不仅可以添加 modulefile 文件名称,也可添加 modulefile 所在路径文件名,此时代表模块和文件内所有模块类都会产生冲突;
  • module load 指示加载此模块同时自动加载的模块,注意其和 prereq 命令的不同;
  • setenv 设定环境变量;
  • append-path 添加环境变量;

 

 常用命令

命令作用
module avail 或 module av查看系统中可用的资源
module add 或 module load加载模块
module rm 或 unload卸载模块
module list 或 module li显示已加载模块
module purge卸载所有模块
module show显示模块配置文件
module swap 或 module switch将模块1 替换为 模块2
module help查看具体软件的信息
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值