环境变量管理工具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会什么都不显示。

环境变量管理工具Modules的安装的更多相关文章
- direnv 一个强大的环境变量管理工具
direnv 是一个基于golang 编写的强大的环境变量管理工具,可以帮助我们简化环境变量管理,而且 支持的平台比较多. 基本使用 下载二进制软件包 https://github.com/dir ...
- [ Module ] 环境变量管理工具 Module 安装和使用
https://www.cnblogs.com/yeungchie/ 1. 工具下载 手动下载 modules-5.1.0 点击下载 wget 下载 wget https://jaist.dl.sou ...
- 集成direnv 与docker-compose 进行环境变量管理
direnv 是一个不错的换将变量管理工具,同时日常的开发测试中我们使用docker-compose 会比较多,一般我们的玩法是 可以再docker-compose 中指定环境变量,可以通过envir ...
- iOS包管理工具Cocoapods的安装与使用
转自:http://www.sxt.cn/u/10014/blog/6448 在我们开发移动应用的时候,一般都会使用到第三方工具,而由于第三方类库的种类繁多,我们在项目中进行管理也会相对麻烦,所以此时 ...
- Linux进程管理工具Supervisor的安装配置
目录 Linux进程管理工具Supervisor的安装配置 简介 安装Python包管理工具 安装Supervisor 配置 配置文件参数说明 配置进程管理 启动supervisor 控制进程 交互终 ...
- Python的支持工具[0] -> 环境包管理工具[0] -> pip
pip包管理工具 / pip Package Management Tools pip是一个Python包管理工具,主要是用于安装PyPI上的软件包,可以替代easy_install工具. 1 pip ...
- python入门:python包管理工具pip的安装
pip 是一个安装和管理 Python 包的工具 , 是 easy_install 的一个替换品. distribute是setuptools的取代(Setuptools包后期不再维护了),pip是e ...
- Helm包管理工具(简介、安装、方法)
认识Helm 每次我们要部署一个应用都需要写一个配置清单(维护一套yaml文件),但是每个环境又不一样.部署一套新的环境成本是真的很高.如果我们能够使用类似于yum的工具来安装我们的应用的话那就太好了 ...
- kafka集群管理工具kafka-manager部署安装
一.kafka-manager 简介 为了简化开发者和服务工程师维护Kafka集群的工作,yahoo构建了一个叫做Kafka管理器的基于Web工具,叫做 Kafka Manager.这个管理工具可以很 ...
- $python包管理工具pip的安装和使用
pip是python的一个非常好用的包管理工具,可以用来很方便地安装和管理各种三方库,本文对其基本用法进行介绍. 安装pip Windows系统上安装 python 2.7.9及以上版本的window ...
随机推荐
- R语言学习1:基本数据类型,文件读取
本系列是一个新的系列,在此系列中,我将和大家共同学习R语言.由于我对R语言的了解也甚少,所以本系列更多以一个学习者的视角来完成. 参考教材:<R语言实战>第二版(Robert I.Kaba ...
- 三步配置阿里巴巴durid监控
三步配置阿里巴巴durid监控 官方文档 环境:jdk17, 框架springboot3 引入依赖 <properties> <druid>1.2.21</druid&g ...
- HUAWEI AppGallery Connect全新升级,支持HarmonyOS生态全生命周期服务!
原文:https://mp.weixin.qq.com/s/7aNIplUBdm_D1yyiMrQdAw,点击链接查看更多技术内容. HUAWEI AppGallery Connect全新升 ...
- 第十三篇:HTML和CSS入门
一.HTML本质以及在WEB程序中的作用 1.一套规则,浏览器认识的规则. 2.开发者: 学习html规则 开发后台程序 - 写html文件(充当模板的作用) - 数据库获取数据,然后替换到html文 ...
- mysql 必知必会整理—安全管理[十七]
前言 简单介绍一下安全管理. 正文 MySQL服务器的安全基础是:用户应该对他们需要的数据具有适当的访问权,既不能多也不能少. 换句话说,用户不能对过多的数据具有过多的访问权. 多数用户只需要对表进行 ...
- mysql 在c# EF 中无法生成对象
正文 1. 创建个vs2013项目,导入EntityFramework.dll. MySql.Data.dll. MySql.Data.Entity.EF6.dll 2. 工具 -> 扩展和更新 ...
- 实训篇-JavaScript-陶渊明去没去过桃花源
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- React中的key的作用
一.是什么 首先,给出react组件中进行列表渲染的一个示例: const data = [ { id: 0, name: 'abc' }, { id: 1, name: 'def' }, { id: ...
- python性能测试,请求QPS测试
QPS = (1000ms/平均响应时间ms)*服务并行数量 #!/user/bin/env python #coding=utf-8 import requests import datetime ...
- 【Oracle】Oracle常用分析函数(排名)
Oracle常用分析函数(排名) 一般来说,遇到需要对数据进行排序的时候,可以使用分析函数,一般常用的有三个,rank,dense_rank,row_number --Oracle常用分析函数(排名) ...