Environment Modules安装和使用教程

本文详细介绍了EnvironmentModules软件包如何通过模块文件简化shell初始化,提供动态加载和卸载模块的功能,以及如何配置和测试GCC版本的模块加载过程。
摘要由CSDN通过智能技术生成

Environment Modules安装和使用教程

一、简介

	Environment Modules软件包提供了通过modulefile动态修改用户环境的功能,通常,用户在登录时通过设置会话期间将引用的每个应用程序的环境信息来初
始化其环境。Environment Modules软件包是一种简化外壳初始化的工具,使用户可以在会话期间使用modulefiles轻松修改其环境。

	每个模块文件都包含为应用程序配置外壳所需的信息。初始化Modules包后,可以使用解释模块文件的module命令在每个模块的基础上修改环境。通常,模块文件
指示模块命令更改或设置外壳程序环境变量,例如PATH,MANPATH等。模块文件可以由系统上的许多用户共享,并且用户可能拥有自己的集合来补充或替换共享的模块
文件。

	可以以一种干净的方式动态地和原子地加载和卸载模块。所有流行的贝壳都支持,包括bash, ksh, zsh, sh, csh, tcsh, fish,以及一些脚本语言,如Perl中,ruby, tcl, python, cmake 和 R。

	模块在管理不同版本的应用程序时很有用。模块也可以捆绑到元模块中,这些元模块将加载一整套不同的应用程序。

二、软件安装

YUM安装

# yum install -y environment-modules                #一定要重启终端!!!
(安装后退出重进终端生效)

输入如下命令,查看当前包含的模块并加载用户模块

# module avail
------------------------------------------ /usr/share/Modules/modulefiles ------------------------------------------
dot  module-git  module-info  modules  null  use.own
# module load use.own
# module list
Currently Loaded Modulefiles:
 1) use.own

三 、配置用户能够调用的模块

例如gcc

获取yum源,这个yum源是被

STEP1:yum源包含的,不可跳步

yum install centos-release-scl

STEP2:安装GCC7.3.1

yum install devtoolset-7-gcc*

centos默认在 cd /usr/share/Modules/init下 ,创建7.3.1

[root@bogon modulefiles]# ls
7.3.1  dot  module-git  module-info  modules  null  use.own

#vim 7.3.1

#%Module1.0########
proc ModulesHelp {} {
                global version modroot
                puts stdout "\t loads gcc 7.3.1\n"
        }

        module-whatis "load gcc-7.3.1"

        set version 7.3.1
        set prefix      /usr/share/Modules/modulefiles

        conflict gcc

        setenv CC gcc
        setenv CXX g++

        prepend-path PATH  /opt/rh/devtoolset-7/root/usr/bin

        if [ module-info mode load ] {
                system echo "gcc 7.3.1 is loaded"
        }
        if [ module-info mode switch2 ] {
                system echo "gcc 7.3.1 is loaded"
        }
        if [ module-info mode remove ] {
                system echo "gcc 7.3.1 is unloaded"
        }

四 、测试module

注意:使用系统是centos 7

[root@bogon Modules]# module list            #列出加载模块
No Modulefiles Currently Loaded.
[root@bogon Modules]# module load 7.3.1     #加载gcc 7.3.1
gcc 7.3.1 is loaded
[root@bogon Modules]# gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/opt/rh/devtoolset-7/root/usr/libexec/gcc/x86_64-redhat-linux/7/lto-wrapper
Target: x86_64-redhat-linux
Configured with: ../configure --enable-bootstrap --enable-languages=c,c++,fortran,lto --prefix=/opt/rh/devtoolset-7/root/usr --mandir=/opt/rh/devtoolset-7/root/usr/share/man --infodir=/opt/rh/devtoolset-7/root/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --enable-plugin --with-linker-hash-style=gnu --enable-initfini-array --with-default-libstdcxx-abi=gcc4-compatible --with-isl=/builddir/build/BUILD/gcc-7.3.1-20180303/obj-x86_64-redhat-linux/isl-install --enable-libmpx --enable-gnu-indirect-function --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux
Thread model: posix
gcc version 7.3.1 20180303 (Red Hat 7.3.1-5) (GCC)
[root@bogon Modules]# module unload 7.3.1      #卸载gcc 7.3.1
gcc 7.3.1 is unloaded
[root@bogon Modules]# gcc -v
使用内建 specs。
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapper
目标:x86_64-redhat-linux
配置为:../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux
线程模型:posix
gcc 版本 4.8.5 20150623 (Red Hat 4.8.5-28) (GCC)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值