Linux下Moudle工具的介绍与使用
点击上方 "程序员小乐"关注, 星标或置顶一起成长
每天凌晨00点00分, 第一时间与你相约
每日英文
Never get stuck with the thing that ruins your day. be happy; for life is too short to be wasted on crap.
不要让不好的事情毁了你这一天,开心一点,生命如此短暂,别浪费时间在不值一提的事情上。
每日掏心话
你的智慧和体力要卖给出价最高的人,但永远不要给自己的灵魂和人格出价。
来自:不方便说 | 责编:乐乐
链接:my.oschina.net/u/3059462/blog/3211342
程序员小乐(ID:study_tech)第 825 次推文 图片来自百度
往日回顾:老外在预测 5 种将死的编程语言!
正文
一、前言
在Linux中,当同一款编辑器、运行库、软件存在多个版本且多个版本都需要在不同的场景或人员使用时,配置这些内容的环境变量是一个非常繁琐的过程,而Moudle工具则提供了一个简单快速的方法,Moudle全称为module-environment,是一个专门管理环境变量的工具。
二、官网
Moudle官网:https://modules.readthedocs.io/en/latest/module.html
三、安装
Moudle工具是基于TCL(8.4以上版本)工具的,目前module工具为4.4.1,基于tcl8.5或更高版本,而module3.X版本则基于tcl8.4版本,Redhat6系列yum安装的tcl为8.5版本。
Moudle工具可以使用二进制编译安装,也可以使用yum/apt快速安装,
Redhat/Centos使用:yum install environment-modules;
ubuntu等使用:apt-get install environment-modules安装。
四、初始化
安装module工具后,你会发现它并不是一个可执行的二进制文件,你需要对module工具进行一次初始化。在/usr/share/modules/init(注意此处,可能是module也可能是modules)内部你可以找到针对各个脚本的二进制初始化文件,找到你当前的脚本,source这个二进制文件,例如你是bash脚本,source /usr/share/modules/init/bash之后,你就可以使用module工具了。
五、常用命令(通过命令你可以看出我为什么module和modules傻傻不分了)
module avail显示可以使用的模块
module load/add 加载模块
module unload/rm卸载模块
module list显示已经加载的模块
在整个module都配置好后,这四个命令基本上可以满足所有的使用要求,而module的更多详细命令和使用方法,我们会在以后的文章中说明。
六、Moudle工具的使用
Module工具依托于MODULEPATH这个环境变量来查找配置信息目录,也就是说你在设置好目录结构,配置好环境变量后,只需要设置这一个module的环境变量,那么module工具就会自动去查找这个路径下的所有配置信息。
七、Moudlefile的写法
在第六节我们说了MODULEPATH的作用,那么这节我们讲述一下modulefile也就是配置文件的目录结构和写法。
通常我们会将同一类的软件、库等内容放在同一个目录,假设目录名为/soft,在soft目录下包含gcc、python、java等常用工具,而gcc又包含4.8.4、4.9.3、4.9.7三个版本,python包含2.7、3.6两个版本、java包含1.6、1.7、1.8三个版本,那么它的目录结构如下:
那么soft目录即为MODULEPATH变量设置的目录,最后面的版本文件为modulefile,我们只需要安装这种目录格式创建目录和文件即可。
在编写modulefile文件时的几个注意事项,例如我要编写4.8.4这个文件,注意,这个文件时gcc4.8.4的环境变量配置文件,不是gcc的存放路径。它必须是一个文件、而不是一个文件夹。
在文件开头一定要写上
#%Module1.0
这个是识别这个文件为modulefile的,没有他这个文件不会被识别
2、prepend-path要修改的环境变量 路径
这个命令会把工具路径添加到环境变量的前面
3、setenv 环境变量名 值
这个命令会把你需要的环境变量配置到系统中
请看以下示例:gcc/4.8.4 (这个工具我安装在/software/gcc/4.8.4/下)
#%Module1.0
setenv GCC_HOME /software/gcc/4.8.4/
prepend-path PATH /software/gcc/4.8.4/bin
这就是一个gcc4.8.4的环境变量配置,我们将所有的环境变量配置好之后,使用modue avail命令即可查看到相应信息,如下所示:
使用module load 载入相应的工具和版本
使用module list查看载入的工具和版本
使用module show 工具/版本 来查看相应配置信息(非常用命令)
这时候我们可以echo $PATH来查看是否将gcc路径添加到了PATH路径中
使用echo $GCC_HOME查看是否已经设置好此环境变量
这时候代表你的目录设置、modulefile都没有问题,只要软件/工具等存放的路径没有问题,那么即可正常使用。
八、多路径
MODULEPATH可以设置为多个路径,例如我设置/soft、/soft1、/soft2都是工具、软件等脚本的存放路径,那么我就可以设置MODULEPATH为多个路径,路径之间用冒号分割。
这时候我们module avail来查看信息,即可看到如下
注意:千万不要出现软件名和版本一样的modulefile
九、默认版本
在module avail中,我们可以设置默认版本,例如我想将gcc 4.9.3设置为默认版本,当我module load gcc的时候,就直接载入4.9.3版本,我们可以使用.version文件来控制这个默认信息。
在modulefile同级目录下创建.version文件,看清楚,前面有个点,写法如下
#%Module1.0
set ModulesVersion "4.9.3"
使用module avail查看信息
在4.9.3版本后面多了一个(default)
删除我们刚才载入的4.8.4
载入默认的gcc版本
注意:由于moudle只能载入同类工具、库的某一个版本,删除的时候就直接说明删除的工具、库就可以了,后面不需要带版本号。
十、全局使用
由于module的特性问题,如果在公司内使用,你可能需要所有的使用人员设置一个统一的初始脚本,无论是bash还是csh,通常我们建议建立一个用户可读的统一脚本文件,然后link到每个使用人员的家目录下的初始脚本。
例如我们建立为csh建立一个统一的csh.cshrc文件。Link给zhangsan
ln -s csh.cshrc /home/zhangsan/.cshrc
我们可以在统一的初始脚本中加入source ./cshrc.own
那么用户只需要在家目录创建一个cshrc.own的文件所谓个性化脚本文件即可。
欢迎在留言区留下你的观点,一起讨论提高。如果今天的文章让你有新的启发,学习能力的提升上有新的认识,欢迎转发分享给更多人。
欢迎各位读者加入订阅号程序员小乐技术群,在后台回复“加群”或者“学习”即可。
猜你还想看
阿里、腾讯、百度、华为、京东最新面试题汇集
如何更好的使用Java异常,看这篇就对了!
互联网后端基础设施,看了都说好!
(三)SpringBoot+SpringCloud —— 高可用的Eureka注册中心
关注订阅号「程序员小乐」,收看更多精彩内容
嘿,你在看吗?
Linux下Moudle工具的介绍与使用相关推荐
- Linux网络常用工具分类介绍
Linux网络命令较多,单纯的介绍网络命令的用法也没什么意思.本文将常见的网络命令进行分类,并做出思维导图,对每个分类的命令选择性的介绍其作用.常见选项和用法举例.BTW,不建议记住所有命令,了解一下 ...
- 利用Linux下DDOS工具tfn2k进行DDOS攻击试验
"Tribe Flood Network 2000 (TFN2K)是一款分布式拒绝服务(DDOS)的攻击工具.TFN2K是由德国著名黑客Mixter编写的同类攻击工具TFN的后续版本.本文将 ...
- 详解linux下auto工具制作Makefile源码包(制作篇)
2019独角兽企业重金招聘Python工程师标准>>> 详解linux下auto工具制作Makefile源码包(制作篇) 水木杨 一. 概述 为了更好的制作configure ...
- linux cpu uuid 查看,Linux下查看UUID方法介绍
Linux下查看UUID方法介绍. 1. sudo blkid /dev/sda1: UUID="9ADAAB4DDAAB250B" TYPE="ntfs" / ...
- 实验 Linux下C工具应用
实验报告 实 验(一) 题 目 Linux下C工具应用 专 业 计算机科学与技术 计算机科学与技术学院 目 录 第1章 实验基本信息... - 4 - 1.1 实验目的... - ...
- 万得终端 linux安装,Linux下常用工具
Linux下常用工具: yuv rgba playerubuntu 18.04 wps1 2sudo dpkg -i wps-office_10.1.0.5672~a21_amd64.deb sudo ...
- 模仿实现Linux下readelf工具部分功能
模仿实现Linux下 readelfreadelfreadelf 工具部分功能 完整实现: https://github.com/JiaZhengJingXianSheng/ReadELF ELF 目 ...
- Linux下抓图工具shutter
Linux下抓图工具shutter 转载于:https://www.cnblogs.com/zhangze/archive/2013/06/07/3123558.html
- Linux 下的 /proc 目录介绍
Linux 下的 /proc 目录介绍 目录 Linux 下的 /proc 目录介绍 1./proc 目录包含的文件及其作用 2./proc 目录包含的子目录及其内容 (1)/proc/bus (2) ...
最新文章
- 【计算机网络】网络安全 : 数据加密模型 ( 加密模型 | 密钥 | 密码学 | 密码安全 )
- 第四范式亮相世界智能大会 共探智能发展下人才培养路径
- 算法训练营07-递归使用练习
- linux传输文件scp自动接密码,配置scp在Linux或Unix之间传输文件无需密码
- python多线程下载器_用 python 实现一个多线程网页下载器
- java 多层异常_Java多层嵌套异常处理的基本流程
- mysql组合索引与字段顺序
- LeetCode62 Unique Paths
- Q-Learning算法学习
- 【仿某公司前台】 asp安全查询系统
- 基于channel的goroutine
- Debugging a Create React App with VS Code
- android studio 融云SDK集成
- 51单片机用三种方法实现流水灯(超详细)
- Dell服务器重装系统
- 新浪微博热门话题(30 分)(字符串)
- linux生成checksum,SF2281修改Lic授权ID生成新checksum生成器
- 聊聊你不知道的Java变量转型
- MVC、MVCS、MTV、MVP框架模式
- 对于同源与非同源的理解
热门文章
- Mac Mounty挂载NTFS硬盘报错
- 魅族开机卡flyme转圈圈
- 工业交换机SFP口和Combo口有什么不同?
- selenium3 设置浏览器安装的位置
- Troubleshooting: WAITED TOO LONG FOR A ROW CACHE ENQUEUE LOCK!
- Java Swing教程(基础)
- 阴阳师双小小黑通关真八岐大蛇攻略——附式神配置和打法
- 按Right-BICEP的测试用例
- t3插密码狗不显示服务器,登陆T3时,用户名和账套都不显示,显示没有检测到合法的LISENCE,需要重新注册密码狗,在注册社区后,搜索.cjt的文件,搜不到...
- Excel表格模板打包下载┆收集了各类各行业Excel表格、word模板