环境变量管理工具Modules的安装

一、软件依赖tcl软件

(1)tcl下载地址:http://www.tcl-lang.org/software/tcltk/
(2)编译安装
cd unix/     ./configure --prefix=/usr/local/tcl
(apt install tcl tcl-dev)

二、编译安装modules软件

(1)下载地址:  https://modules.sourceforge.net/
(2)解压安装:(apt-get install environment-modules)
tar -zxvf modules-5.2.0.tar.gz
./configure --prefix=/usr/local/modules-5.2.0
./configure --prefix=/usr/local/modules --with-tcl-lib=/usr/local/tcl/lib \
            --with-tcl-inc=/usr/local/tcl/include 

三、  module的初始化

       安装module工具后,你会发现它并不是一个可执行的二进制文件,你需要对module工具进行一次初始化。
       在/usr/local/modules/init(注意此处,可能是module也可能是modules)内部你可以找到针对各个脚本的二进制初始化文件,有profile.sh和profile.csh文件,用来配置module的脚本文件。如果当前用的shell是bash,就使用profile.sh,如果当前用的shell是cshell,就使用profile.csh。可以直接source这个文件,也可以打开/etc/profile文件,加入source /usr/llocal/tools/modules/init/profile.sh这一行代码。重启终端,使用module -h,就可以打印module命令的help了。
也可以建立符号链接,这样当系统重启后,会自动加载
ln -s /usr/local/modules/init/profile.sh /etc/profile.d/module.sh
ln -s /usr/local/modules/init/profile.csh /etc/profile.d/module.csh
        不过如果使用which module,会发现找不到module命令。

四、常用命令

(通过命令你可以看出我为什么module和modules傻傻不分了)
module avail     显示可以使用的模块
module load/add  加载模块
module unload/rm 卸载模块
module list      显示已经加载的模块
module show      来查看相应配置信息
module switch gcc gcc/10    切换到模块的不同版本

五、modulefiles文件编写

        以下是/usr/local/modules/modulefiles目录下的modules文件,我们后面实现的工具配置文件,都是基于这个文件进行的修改。千万不要出现软件名和版本一样的modulefile文件。

例如gcc环境变量的添加
cd /usr/local/modules/modulefiles/gcc   ||     vim 4.8.4

set version     4.8.4
set GCC         /usr/xu_apps/gcc-4.8.4

setenv          MODULESHOME      ${GCC}
prepend-path    PATH             ${GCC}/bin
prepend-path    LD_LIBRARY_PATH  ${GCC}/lib64
prepend-path    LD_LIBRARY_PATH  ${GCC}/lib
prepend-path    INCLUDE          ${GCC}/include

六、默认版本

        在module avail中,我们可以设置默认版本,例如我想将gcc 4.9.3设置为默认版本,当我module load gcc的时候,就直接载入4.9.3版本,我们可以使用.version文件来控制这个默认信息。
        在modulefile同级目录下创建.version文件,看清楚,前面有个点,写法如下:
cd /etc/modulefiles/gcc
vim .version
#%Module1.0
set ModulesVersion "4.9.3"
使用module avail查看信息

 在4.8.4版本后面多了一个(default)

七、多路径设置

(1)Module工具依托于MODULEPATH这个环境变量来查找配置信息目录。MODULEPATH可以设置为多个路径,例如我设置/soft、/soft1、/soft2都是工具、软件等脚本的存放路径,那么我就可以设置MODULEPATH为多个路径,路径之间用冒号分割。
export MODULEPATH=/soft:/soft1:/soft2
这时候我们module avail来查看信息,即可看到如下

 (2)yum install environment-modules
默认的的modulefiles路径设置在/usr/share/Modules/init/.modulespath文件中。也可以在这个文件中添加设置为多个路径,而不用配置MODULEPATH这个环境变量。

 【注意】:modulefiles路径设置后,路径下一定要有例如gcc/4.8.4的文件;要不然module avail会什么都不显示。

 

 
posted @ 2024-01-27 15:28  惊小呆520  阅读(131)  评论(0编辑  收藏  举报