Module是一个用于管理环境变量的工具,尤其适用于多版本软件的管理。在Ubuntu20.04上,可以通过apt安装Module。安装后需初始化并在profile中添加命令。
在ubuntu中可以直接使用apt来在线安装
apt-get install environment-modules -y
安装完成以后需要对module进行初始化,初始化的脚本在/usr/share/modules/init目录下。
source /usr/share/modules/init/bash
使用上述命令就可以开始使用module命令了。
如果希望开机启动就能使用,可以将上述命令添加到/etc/profile中
vim /etc/profile
if [ -f /usr/share/modules/init/bash ]; then
source /usr/share/modules/init/bash
fi
上面基础配置以后我们就来看看如何配置管理软件包,当我们需要添加某些软件环境时需要在/usr/share/modules/modulefiles路径下增加相应的Modulefile文件,然后可以使用module avail命令来查看软件环境列表。
我们看下modules文件内容如下:
cd /usr/share/modules/modulefiles
cat modules
这个文件内容字段释义如下:
#%Module: 帮助识别这个文件为 modulefile 的,没有该语句这个文件不会被识别
prepend-path: 把工具路径添加到环境变量的前面
prepend-path: 把我们需要的环境变量配置到系统中
我们来尝试编写一个实际例子吧,编译两个版本的openmpi切换试试,两个openmpi编译安装的目录分别是,openmpi编译过程我这里就不再记录了,编译过程在这里不重要。
/usr/local/openmpi4.1
/usr/local/openmpi5.0
我们先创建软件管理的目录
/usr/share/modules/modulefiles
mkdir -p openmpi
cd openmpi
接着创建两个配置文件,文件名就建议使用版本号,这里是4.1这个文件
vim 4.1
#内容如下:
#%Module
setenv OPENMPI_HOME /usr/local/openmpi4.1
prepend-path PATH /usr/local/openmpi4.1/bin
prepend-path LD_LIBRARY_PATH /usr/local/openmpi4.1/lib
另外再创建一个5.0这个文件
vim 5.0
#内容如下:
#%Module
setenv OPENMPI_HOME /usr/local/openmpi5.0
prepend-path PATH /usr/local/openmpi5.0/bin
prepend-path LD_LIBRARY_PATH /usr/local/openmpi5.0/lib
然后我们就可以使用命令进行切换环境了。
module avail #查看可切换的软件环境,可以看到我刚创建的两个openmpi
module load openmpi/4.1#这样就可以切换到openmpi4.1
module unload openmpi/4.1 #这样就可以离开openmpi4.1环境
module list #可以查看当前load的环境
以上就是Module环境管理工具的实际使用介绍,Module工具实际是依托于MODULEPATH这个环境变量来查找配置信息目录,也就是说你在设置好目录结构,配置好环境变量后,只需要设置这一个module的环境变量,那么module工具就会自动去查找这个路径下的所有配置信息。
内容版权声明:除非注明,否则皆为本站原创文章。
转载注明出处:https://sulao.cn/post/1077
评论列表