<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Linux下Moudle工具的介紹與使用

          共 2942字,需瀏覽 6分鐘

           ·

          2020-04-27 23:23

          33ca459e6cc83f4fc15577df2e372b52.webp6a86c0b3b120426d976da05d1ca38393.webp


          點(diǎn)擊「閱讀原文」查看良許原創(chuàng)精品視頻。

          責(zé)編:樂(lè)樂(lè)

          來(lái)自:不方便說(shuō)

          鏈接:my.oschina.net/u/3059462/blog/3211342

          39012b3de0c29c8f27deacf87bae70a0.webp


          ??? ?

          ? ?正文? ?

          一、前言

          在Linux中,當(dāng)同一款編輯器、運(yùn)行庫(kù)、軟件存在多個(gè)版本且多個(gè)版本都需要在不同的場(chǎng)景或人員使用時(shí),配置這些內(nèi)容的環(huán)境變量是一個(gè)非常繁瑣的過(guò)程,而Moudle工具則提供了一個(gè)簡(jiǎn)單快速的方法,Moudle全稱為module-environment,是一個(gè)專門管理環(huán)境變量的工具。

          二、官網(wǎng)

          Moudle官網(wǎng):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工具可以使用二進(jìn)制編譯安裝,也可以使用yum/apt快速安裝,

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

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

          四、初始化

          安裝module工具后,你會(huì)發(fā)現(xiàn)它并不是一個(gè)可執(zhí)行的二進(jìn)制文件,你需要對(duì)module工具進(jìn)行一次初始化。在/usr/share/modules/init(注意此處,可能是module也可能是modules)內(nèi)部你可以找到針對(duì)各個(gè)腳本的二進(jìn)制初始化文件,找到你當(dāng)前的腳本,source這個(gè)二進(jìn)制文件,例如你是bash腳本,source /usr/share/modules/init/bash之后,你就可以使用module工具了。

          五、常用命令(通過(guò)命令你可以看出我為什么module和modules傻傻不分了)

          module avail顯示可以使用的模塊

          module load/add 加載模塊

          module unload/rm卸載模塊

          module list顯示已經(jīng)加載的模塊

          在整個(gè)module都配置好后,這四個(gè)命令基本上可以滿足所有的使用要求,而module的更多詳細(xì)命令和使用方法,我們會(huì)在以后的文章中說(shuō)明。

          六、Moudle工具的使用

          Module工具依托于MODULEPATH這個(gè)環(huán)境變量來(lái)查找配置信息目錄,也就是說(shuō)你在設(shè)置好目錄結(jié)構(gòu),配置好環(huán)境變量后,只需要設(shè)置這一個(gè)module的環(huán)境變量,那么module工具就會(huì)自動(dòng)去查找這個(gè)路徑下的所有配置信息。

          七、Moudlefile的寫法

          在第六節(jié)我們說(shuō)了MODULEPATH的作用,那么這節(jié)我們講述一下modulefile也就是配置文件的目錄結(jié)構(gòu)和寫法。

          通常我們會(huì)將同一類的軟件、庫(kù)等內(nèi)容放在同一個(gè)目錄,假設(shè)目錄名為/soft,在soft目錄下包含gcc、python、java等常用工具,而gcc又包含4.8.4、4.9.3、4.9.7三個(gè)版本,python包含2.7、3.6兩個(gè)版本、java包含1.6、1.7、1.8三個(gè)版本,那么它的目錄結(jié)構(gòu)如下:

          43ff1b579bd570c29a3b5e5a8f825bd7.webp

          那么soft目錄即為MODULEPATH變量設(shè)置的目錄,最后面的版本文件為modulefile,我們只需要安裝這種目錄格式創(chuàng)建目錄和文件即可。

          在編寫modulefile文件時(shí)的幾個(gè)注意事項(xiàng),例如我要編寫4.8.4這個(gè)文件,注意,這個(gè)文件時(shí)gcc4.8.4的環(huán)境變量配置文件,不是gcc的存放路徑。它必須是一個(gè)文件、而不是一個(gè)文件夾。

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

          #%Module1.0

          這個(gè)是識(shí)別這個(gè)文件為modulefile的,沒(méi)有他這個(gè)文件不會(huì)被識(shí)別

          2、prepend-path要修改的環(huán)境變量 路徑

          這個(gè)命令會(huì)把工具路徑添加到環(huán)境變量的前面

          3、setenv 環(huán)境變量名 值

          這個(gè)命令會(huì)把你需要的環(huán)境變量配置到系統(tǒng)中

          請(qǐng)看以下示例:gcc/4.8.4 (這個(gè)工具我安裝在/software/gcc/4.8.4/下)

          #%Module1.0

          setenv GCC_HOME /software/gcc/4.8.4/

          prepend-path PATH /software/gcc/4.8.4/bin

          這就是一個(gè)gcc4.8.4的環(huán)境變量配置,我們將所有的環(huán)境變量配置好之后,使用modue avail命令即可查看到相應(yīng)信息,如下所示:

          3e3819bbec67f0afa4528024502b0da8.webp

          使用module load 載入相應(yīng)的工具和版本

          f963af54322236032af31c167cd4a421.webp

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

          1fac4d5ac1e89c7ea8ba78c7d8b568db.webp

          使用module show 工具/版本 來(lái)查看相應(yīng)配置信息(非常用命令)

          6c780e4e0090d9e0146ad01e4f9dd83d.webp

          這時(shí)候我們可以echo $PATH來(lái)查看是否將gcc路徑添加到了PATH路徑中

          1ec6eab0e74eca9bb7d8021a13d836ed.webp

          使用echo $GCC_HOME查看是否已經(jīng)設(shè)置好此環(huán)境變量

          9cc8cb85adf9067f19c6da8ec8d0987c.webp

          這時(shí)候代表你的目錄設(shè)置、modulefile都沒(méi)有問(wèn)題,只要軟件/工具等存放的路徑?jīng)]有問(wèn)題,那么即可正常使用。

          八、多路徑

          MODULEPATH可以設(shè)置為多個(gè)路徑,例如我設(shè)置/soft、/soft1、/soft2都是工具、軟件等腳本的存放路徑,那么我就可以設(shè)置MODULEPATH為多個(gè)路徑,路徑之間用冒號(hào)分割。

          771c60d17404905ac4a5b3f80dd634d4.webp

          這時(shí)候我們module avail來(lái)查看信息,即可看到如下

          71633d41c92ef6f206ae54090bb70049.webp

          注意:千萬(wàn)不要出現(xiàn)軟件名和版本一樣的modulefile

          九、默認(rèn)版本

          在module avail中,我們可以設(shè)置默認(rèn)版本,例如我想將gcc 4.9.3設(shè)置為默認(rèn)版本,當(dāng)我module load gcc的時(shí)候,就直接載入4.9.3版本,我們可以使用.version文件來(lái)控制這個(gè)默認(rèn)信息。

          在modulefile同級(jí)目錄下創(chuàng)建.version文件,看清楚,前面有個(gè)點(diǎn),寫法如下

          #%Module1.0

          set ModulesVersion "4.9.3"

          9a083df359f3fed8eb9938bfb304cc3d.webp

          使用module avail查看信息

          c94b6c730727bef5520027f3540299f1.webp

          在4.9.3版本后面多了一個(gè)(default)

          刪除我們剛才載入的4.8.4

          1c81779a12a8099ec0815b4dec4e6f03.webp

          載入默認(rèn)的gcc版本

          be95f0c47332e3e7711778b14d112098.webp

          注意:由于moudle只能載入同類工具、庫(kù)的某一個(gè)版本,刪除的時(shí)候就直接說(shuō)明刪除的工具、庫(kù)就可以了,后面不需要帶版本號(hào)。

          十、全局使用

          由于module的特性問(wèn)題,如果在公司內(nèi)使用,你可能需要所有的使用人員設(shè)置一個(gè)統(tǒng)一的初始腳本,無(wú)論是bash還是csh,通常我們建議建立一個(gè)用戶可讀的統(tǒng)一腳本文件,然后link到每個(gè)使用人員的家目錄下的初始腳本。

          例如我們建立為csh建立一個(gè)統(tǒng)一的csh.cshrc文件。Link給zhangsan

          ln -s csh.cshrc /home/zhangsan/.cshrc

          我們可以在統(tǒng)一的初始腳本中加入source ./cshrc.own

          那么用戶只需要在家目錄創(chuàng)建一個(gè)cshrc.own的文件所謂個(gè)性化腳本文件即可。

          --END--



          本公眾號(hào)全部博文已整理成一個(gè)目錄,請(qǐng)?jiān)诠娞?hào)里回復(fù)「m」獲??!

          推薦閱讀:

          網(wǎng)傳互聯(lián)網(wǎng)公司加班表

          雷軍 1994 年寫的代碼,經(jīng)典老古董~

          餓了么總監(jiān)分享:我是如何完成從程序員到管理層的蛻變?


          5T技術(shù)資源大放送!包括但不限于:C/C++,Linux,Python,Java,PHP,人工智能,單片機(jī),樹莓派,等等。在公眾號(hào)內(nèi)回復(fù)「1024」,即可免費(fèi)獲?。?!


          瀏覽 72
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  欧美老妇人性爱网站 | 日韩精品在线观看免费 | 看全色黄大色大片 | 中国大陆最黄色的操逼视频 | 自拍成人视频 |