Environment Modules软件包提供了通过modulefile动态修改用户环境的功能,通常,用户在登录时通过设置会话期间将引用的每个应用程序的环境信息来初
始化其环境。Environment Modules软件包是一种简化外壳初始化的工具,使用户可以在会话期间使用modulefiles轻松修改其环境。
每个模块文件都包含为应用程序配置外壳所需的信息。初始化Modules包后,可以使用解释模块文件的module命令在每个模块的基础上修改环境。通常,模块文件
指示模块命令更改或设置外壳程序环境变量,例如PATH,MANPATH等。模块文件可以由系统上的许多用户共享,并且用户可能拥有自己的集合来补充或替换共享的模块
文件。
可以以一种干净的方式动态地和原子地加载和卸载模块。所有流行的贝壳都支持,包括bash, ksh, zsh, sh, csh, tcsh, fish,以及一些脚本语言,如Perl中,
ruby, tcl, python, cmake 和 R。
模块在管理不同版本的应用程序时很有用。模块也可以捆绑到元模块中,这些元模块将加载一整套不同的应用程序。
安装module
所有节点均需要安装
yum install -y environment-modules
(安装后退出重进终端生效)
module需要自行写modulefile文件,文件路径为/usr/share/Modules/modulefiles
intel编译器提供了一个快捷生成modulefile的实例
Using Environment Modules with Intel Development Tools
这里以intel-2015为例
echo "#%Module" > my_module_file
perl env2 -from bash -to modulecmd "/share01/app/intel-2015/parallel_studio_xe_2015/psxevars.sh intel64" >> /root/my_module_file
mv /root/my_module_file /usr/share/Modules/modulefiles/intel-2015
##报错Can't open perl script "env2"##
下载https://github.com/dcblack/env2-code
在解压文件env2-code-master中执行perl命令
常用命令
使用前执行:source /usr/share/Module/init/bash
module avail #查看当前有哪些可加载的环境变量
module load intel-2015 #加载intel-2015环境变量
module unloadl intel-2015 # 卸载intel-2015环境变量
module list #查看当前已加载的环境变量