Linux下Moudle工具的介紹與使用

1、前言html

在Linux中,當同一款編輯器、運行庫、軟件存在多個版本且多個版本都須要在不一樣的場景或人員使用時,配置這些內容的環境變量是一個很是繁瑣的過程,而Moudle工具則提供了一個簡單快速的方法,Moudle全稱爲module-environment,是一個專門管理環境變量的工具。java

2、官網python

Moudle官網:https://modules.readthedocs.io/en/latest/module.htmlubuntu

3、安裝bash

Moudle工具是基於TCL(8.4以上版本)工具的,目前module工具爲4.4.1,基於tcl8.5或更高版本,而module3.X版本則基於tcl8.4版本,Redhat6系列yum安裝的tcl爲8.5版本。app

Moudle工具可使用二進制編譯安裝,也可使用yum/apt快速安裝,編輯器

Redhat/Centos使用:yum install environment-modules;ide

ubuntu等使用:apt-get install environment-modules安裝。工具

4、初始化spa

安裝module工具後,你會發現它並非一個可執行的二進制文件,你須要對module工具進行一次初始化。在/usr/share/modules/init(注意此處,多是module也多是modules)內部你能夠找到針對各個腳本的二進制初始化文件,找到你當前的腳本,source這個二進制文件,例如你是bash腳本,source /usr/share/modules/init/bash以後,你就可使用module工具了。

5、經常使用命令(經過命令你能夠看出我爲何module和modules傻傻不分了)

module avail顯示可使用的模塊

module load/add 加載模塊

module unload/rm卸載模塊

module list顯示已經加載的模塊

在整個module都配置好後,這四個命令基本上能夠知足全部的使用要求,而module的更多詳細命令和使用方法,咱們會在之後的文章中說明。

6、Moudle工具的使用

Module工具依託於MODULEPATH這個環境變量來查找配置信息目錄,也就是說你在設置好目錄結構,配置好環境變量後,只須要設置這一個module的環境變量,那麼module工具就會自動去查找這個路徑下的全部配置信息。

7、Moudlefile的寫法

在第六節咱們說了MODULEPATH的做用,那麼這節咱們講述一下modulefile也就是配置文件的目錄結構和寫法。

一般咱們會將同一類的軟件、庫等內容放在同一個目錄,假設目錄名爲/soft,在soft目錄下包含gcc、python、java等經常使用工具,而gcc又包含4.8.四、4.9.三、4.9.7三個版本,python包含2.七、3.6兩個版本、java包含1.六、1.七、1.8三個版本,那麼它的目錄結構以下:

up-c6daab9325d1ba45a0e99d3a857effdb09b.png

那麼soft目錄即爲MODULEPATH變量設置的目錄,最後面的版本文件爲modulefile,咱們只須要安裝這種目錄格式建立目錄和文件便可。

在編寫modulefile文件時的幾個注意事項,例如我要編寫4.8.4這個文件,注意,這個文件時gcc4.8.4的環境變量配置文件,不是gcc的存放路徑。它必須是一個文件、而不是一個文件夾。

  1. 在文件開頭必定要寫上

#%Module1.0

這個是識別這個文件爲modulefile的,沒有他這個文件不會被識別

二、prepend-path要修改的環境變量 路徑

這個命令會把工具路徑添加到環境變量的前面

三、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命令便可查看到相應信息,以下所示:

up-f8a0ce2e099a5ed92b3fb7b0dea2df16131.png

使用module load 載入相應的工具和版本

up-2884cd3c2c60324ebc3ac468b495f536929.png

使用module list查看載入的工具和版本

up-f9fc4adeb8a2b0b2426b8adab8fcc19f06b.png

使用module show 工具/版本 來查看相應配置信息(很是用命令)

up-9fdef7f7886e806ae20ff3d8955a7b7fdcd.png

這時候咱們能夠echo $PATH來查看是否將gcc路徑添加到了PATH路徑中

up-2fa178b2d5aad1dd5d2cdcc5ed24b943821.png

使用echo $GCC_HOME查看是否已經設置好此環境變量

up-c6b9ee0dbde2c4ebae6687f931a5902058f.png

這時候表明你的目錄設置、modulefile都沒有問題,只要軟件/工具等存放的路徑沒有問題,那麼便可正常使用。

8、多路徑

MODULEPATH能夠設置爲多個路徑,例如我設置/soft、/soft一、/soft2都是工具、軟件等腳本的存放路徑,那麼我就能夠設置MODULEPATH爲多個路徑,路徑之間用冒號分割。

up-fcaab096fbc067229a465a004b2d2a849a1.png

這時候咱們module avail來查看信息,便可看到以下

up-047b22d7db78b18bf33c6f69aa6e792d59c.png

注意:千萬不要出現軟件名和版本同樣的modulefile

9、默認版本

在module avail中,咱們能夠設置默認版本,例如我想將gcc 4.9.3設置爲默認版本,當我module load gcc的時候,就直接載入4.9.3版本,咱們可使用.version文件來控制這個默認信息。鄭州不孕不育醫院哪家好:http://jbk.39.net/yiyuanfengcai/tsyl_zztjyy/988/

在modulefile同級目錄下建立.version文件,看清楚,前面有個點,寫法以下

#%Module1.0

set ModulesVersion "4.9.3"

up-a4b5565168b5664fed217c39ed954467890.png

使用module avail查看信息

up-3924ce29d9b3f7f0c16a66dc32805696349.png

在4.9.3版本後面多了一個(default)

刪除咱們剛纔載入的4.8.4

up-844c84a206f58999be8eee3ede4fe6110a9.png

載入默認的gcc版本

up-e60ff3721253e5918ccd4f9f5f82749a5e8.png

注意:因爲moudle只能載入同類工具、庫的某一個版本,刪除的時候就直接說明刪除的工具、庫就能夠了,後面不須要帶版本號。

10、全局使用

因爲module的特性問題,若是在公司內使用,你可能須要全部的使用人員設置一個統一的初始腳本,不管是bash仍是csh,一般咱們建議創建一個用戶可讀的統一腳本文件,而後link到每一個使用人員的家目錄下的初始腳本。

鄭州人工授精醫院:http://rgsj.zzfkyy120.com/

相關文章
相關標籤/搜索