linux下moudle环境管理工具的介绍与使用

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

202507072259345593632521.png

这个文件内容字段释义如下:

#%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

然后我们就可以使用命令进行切换环境了。

202507072300297677191083.png

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

评论列表

0%