【转载】linux module工具安装与使用

原文地址:http://www.lujun.org.cn/?p=4490

linux中的环境变量管理,让人烦不胜烦。但是有了module这个开源的环境变量管理工具,就让linux中的环境变量管理变得容易。

以下链接,是module工具的介绍:

https://modules.readthedocs.io/en/latest/index.html

一、安装

1)module工具,依赖tcl工具,因此首先要安装tcl工具

wget https://cfhcable.dl.sourceforge.net/project/tcl/Tcl/8.5.9/tcl8.5.9-src.tar.gz
tar -zxvf tcl8.5.9-src.tar.gz

cd tcl8.5.9/unix

./configure --prefix=/home/lujun/tools/tcl

make

make install

2)安装tcl之后,就可以安装module工具了

wget https://newcontinuum.dl.sourceforge.net/project/modules/Modules/modules-4.2.4/modules-4.2.4.tar.gz

tar -zxvf modules-4.2.4.tar.gz

cd modules-4.2.4

./configure --prefix=/home/lujun/tools/modules --with-tcl-lib=/home/lujun/tools/tcl/lib --with-tcl-inc=/home/lujun/tools/tcl/include

make

make install

安装完成之后,在/home/lujun/tools/modules(以下称为module根目录)目录下,就有module工具了。不过在bin目录下,是没有module这个命令的。

二、配置

因为bin目录下,没有module这个命令,因此,直接将module根目录下的bin目录,加入到PATH中,是不行的。

在 init 目录下,有 profile.sh 和 profile.csh文件,用来配置module的脚本文件。如果当前用的shell是bash,就使用profile.sh,如果当前用的shell是cshell,就使用profile.csh。

打开/etc/profile文件,加入 source /home/lujun/tools/modules/init/profile.sh 这一行代码。重启终端,使用module -h,就可以打印module命令的help了。不过如果 which module,会发现找不到module命令。

也可以建立符号链接,这样当系统重启后,会自动加载

ln -s /home/lujun/tools/modules/init/profile.sh /etc/profile.d/module.sh
ln -s /home/lujun/tools/modules/init/profile.csh /etc/profile.d/module.csh

使用module ava,可以获取当前系统,可以使用的工具。不过因为,还没有编写工具配置文件,因此显示的工具为空。

imodule ava

三、编写modulefiles文件

module工具,根据modulefile文件,来实现环境变量的管理。

以下是 modulefiles目录下的 modules文件,我们后面实现的工具配置文件,都是基于这个文件进行修改。

modules文件内容

下面说一下关键点:

  • 最前面几行注释,不要修改

  • proc: 定义函数,可以要,也可以不要

  • set: 设置变量

  • setenv: 设置环境变量

  • prepend-path: 向环境变量中,加入指定的值,加入的值,放在环境变量前面

一般使用比较多的,就是set,setenv,prepend-path,这三个语法。更多的语法,在官网有介绍:

https://modules.readthedocs.io/en/latest/modulefile.html

要注意的是,$env(PROJ_SRC_ROOT),是获取环境变量 PROJ_SRC_ROOT 的值。

四、使用

工具的modulefiles文件编写完毕后,module工具就会识别,此时使用module ava,就会显示,可以用的所有工具。

module ava

在modulefiles目录下,新建 synopsys 目录,并且放置vcs和verdi,2个配置文件。

使用 module load synopsys/verdi, 就可以加载verdi工具。

此时使用 module list可以查看,目前已经加载的工具:
module list:罗列出当前已加载的所有工具

module list

使用 module rm synopsys/verdi,就可以取消加载verdi工具

module rm:module remove,移除指定某个工具,可以加上版本号

image

module purge:取消已加载的所有工具

modules常用alias

ma: module add
mi: module display,意思是display module information
mr: module remove
mav: module avail
mc: module clear(目前已经更新为mp:module purge)
mp:module purge

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 参考文章如下: 1.WEB 端批量移动设备管理控制工具 STF 的环境搭建和运行 2.STF环境搭建&运行及踩坑记...
    AllisonWang阅读 10,534评论 1 3
  • 一、Linux下安装配置nginx 第一次安装nginx,中间出现的问题一步步解决。 用到的工具secureCRT...
    yljava阅读 5,646评论 0 0
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 47,152评论 6 342
  • 推荐指数: 6.0 书籍主旨关键词:特权、焦点、注意力、语言联想、情景联想 观点: 1.统计学现在叫数据分析,社会...
    Jenaral阅读 11,038评论 0 5
  • 城空了,有树长出来 我的城死了 铸起它的人,杀死它的人 不愿因为这件事而骄傲 一座城的终结 永远因为终结这件事而显...
    于十六阅读 7,926评论 6 17

友情链接更多精彩内容