Қоршаған орта модульдері (бағдарламалық жасақтама) - Environment Modules (software)

Қоршаған орта модульдері
Қоршаған орта модульдері logo.svg
Тұрақты шығарылым
4.6.1 / 2020 жылғы 14 қараша; 9 күн бұрын (2020-11-14)
Репозиторий Мұны Wikidata-да өңдеңіз
Операциялық жүйеUnix тәрізді
ЛицензияGNU жалпыға ортақ лицензиясы # 2-нұсқа
Веб-сайтмодульдер.sourceforge.желі

The Қоршаған орта модульдері жүйе - бұл қолданушыларға оларды басқаруға көмектесетін құрал Unix немесе Linux қабық ортасы, қоршаған ортаға қатысты өзгермелі параметрлердің топтарын динамикалық түрде жасауға немесе жоюға мүмкіндік беру арқылы.

Модульдер 1990-шы жылдардың басынан бері бар[1] және кейбір ірі компьютерлік орталықтарда қолданылады[2] қолданушыларға әр түрлі бағдарламалық құралдардың бірнеше нұсқаларын орналастыру. Ұлттық энергетикалық зерттеулер ғылыми-есептеу орталығы (NERSC) олардың барлық дерлік бағдарламалық жасақтаманы басқару үшін қоршаған орта модульдерін қолданатынын хабарлайды.[3] Қоршаған орта модульдері DoD жоғары өнімділікті есептеуді модернизациялау бағдарламасының (HPCMP) негізгі конфигурациясы талабы ретінде көрсетілген[4] Жобаның бастапқы конфигурациясы[5] DoD суперкомпьютерлік ресурстар орталықтарына (DSRCs) қатысуға арналған команда.

Модуль файлдары

Модульдер жүйесі модуль файлдарына негізделген,[6] бірге жасалуы қажет қоршаған орта параметрлерінің топтарын анықтайды. Модульдік файлдарды жалпы пайдалану үшін орталық жерде немесе жеке пайдалану үшін пайдаланушы каталогында орнатуға болады. Қоршаған орта модульдерінің файлдар файлында жазылады Tcl (құралдардың командалық тілі) және модуль арқылы modulecmd бағдарламасы арқылы түсіндіріледі[7] пайдаланушы интерфейсі.

Қоршаған орта модульдерінің басты артықшылығы - бұл қабыққа тәуелді емес және bash, ksh, zsh, sh, tcsh және csh сияқты барлық негізгі қабықтарды қолдайды. Екінші маңызды артықшылығы - бұл бағдарламаның немесе пакеттің бірнеше нұсқасын бір модульден жүктеу арқылы бір есептік жазбадан пайдалануға мүмкіндік береді. Бұл екі артықшылық қоршаған орта модульдерін көптеген HPC кластерлік қондырғыларының құрамдас бөлігіне айналдыру үшін маңызды болды. Бұл TCL орнына Lua тілінде жазылған Техас университетінің lmod сияқты бірнеше баламалы іске асыруға шабыттандырды.

модульфайлдары әр бағдарлама бойынша әр нұсқаға сәйкес жасалады. Оларды динамикалық түрде жүктеуге, түсіруге немесе ауыстыруға болады. Бір бағдарламалық жасақтаманың бірнеше нұсқаларын пайдалану мүмкіндігімен қатар, оны қосымшаларға қол жетімділік пен пайдалануға қатысты сайт саясатын жүзеге асыру үшін пайдалануға болады.

Әдепкі модуль файлдарының каталогы

Әдепкі модульдерді іздеу жолы жасырын конфигурация файлында болады, оны көрсетуге болады:

$ мысық ${МОДУЛЬШОМ}/init/.modulespath
/ etc / modulefiles # CentOS, Scientific Linux, RHEL
/ usr / local / Modules / modulefiles # Әдепкі дерек көзінен құрастыру

The / etc / modulefiles кейбір дистрибутивтер (немесе кез-келген басқа каталог) пайдаланатын каталогты көзден құрастырудан кейін $ {MODULESHOME} /init/.modulespath файл.

Жолға өзіңіздің модульдеріңізді қосыңыз

The $ {MODULESHOME} / modulefiles /пайдалану модуль іс жүзінде келесі әрекеттерді орындайды:

 mkdir $ HOME/ privatemodules
 cp ${МОДУЛЬШОМ}/ modulefiles / null $ HOME/ privatemodules
 модульді қолдану - қосыңыз $ HOME/ privatemodules

Иерархиялық ұйым ішінде нұсқа файлын қолданыңыз

Бұл бөлімдегі командалар / etc / modulefiles каталогына оқуды / жазуды / орындауды талап етеді. $ HOME / privatemodules немесе басқа каталогты оның орнына «modul use --append» немесе әдепкі модульдерді іздеу жолын көрсететін конфигурация файлын өзгертумен бірге пайдалануға болады.

Әдепкі модуль файлдарының каталогы бастапқыда бос. Бос модульді стандартты файл файлдарының каталогына көшіріп, оны «модуль қол жетімді» етіп көрсетіңіз. Иерархиялық ұйымдағы нұсқа файлын пайдалануды және олардың модульге әсері мен модульдің көрсетілуін көрсету үшін нөл және модуль-ақпарат модульдері қолданылады:

 mkdir / etc / modulefiles / test
 cp ${МОДУЛЬШОМ}/ modulefiles / null /etc/modulefiles/test/2.0
 cp ${МОДУЛЬШОМ}/ modulefiles / module-info /etc/modulefiles/test/1.0
 модуль жұмыс істейді
 модуль шоуы тест

Бірінші нұсқаны әдепкі ретінде орнатыңыз:

 жаңғырық '#% Модулі' > /etc/modulefiles/test/.version
 жаңғырық 'set ModulesVersion «1.0»' >> /etc/modulefiles/test/.version
 модуль жұмыс істейді
 модуль шоуы тест
 модуль шоу тесті / 2.0

Әдепкі бойынша жаңа нұсқаға ауысыңыз:

 rm /etc/modulefiles/test/.version
 жаңғырық '#% Модуль' > /etc/modulefiles/test/.version
 жаңғырық 'ModulesVersion «2.0» орнату' ' >> /etc/modulefiles/test/.version
 модуль жұмыс істейді
 модуль шоуы тест

Жоғарыда көрсетілгеннен кейін көзден жаңа қондырғыны көресіз:

$ модуль жұмыс істейді

-------------------- /usr/local/Modules/3.2.10/modulefiles ------------------ ---
dot module-git module-info modules null use.own

------------------------------- / etc / modulefiles --------------- ----------------
нөлдік тест / 1.0 тест / 2.0 (әдепкі)

--------------------------- / үй / пайдаланушы / жеке модульдер ----------------- ---------
нөл

$ модуль шоуы тест
-------------------------------------------------------------------
/etc/modulefiles/test/2.0:

модуль-ештеңе жасамайды 
-------------------------------------------------------------------

$ модуль шоу тесті / 1.0
-------------------------------------------------------------------
/etc/modulefiles/test/1.0:

module-whatis барлық түрлі модуль-ақпарат мәндерін қайтарады 
+++ модуль-ақпарат +++++++++++++++++++++++++++++++
жалаулар = 2
режим = дисплей
аты = тест / 1.0
көрсетілген = сынақ / 1.0
shell = bash
shelltype = sh
нұсқа = тест / 1.0
user = Advanced
ізі = 0
трацепат = -. *
таңбалар = * undef *
+++ ақпарат +++++++++++++++++++++++++++++++++++++
хост атауы = localhost
деңгей = 1
жүктелген нөл = 0
library = /usr/local/lib/tcl8.6
nameofexecutable =
sharedlibextension = .so
tclversion = 8.6
patchlevel = 8.6.1
+++++++++++++++++++++++++++++++++++++++++++++++
-------------------------------------------------------------------

Автоматты модульдерді инициализациялау

Ғылыми Linux, CentOS және RHEL-дегі қоршаған орта модульдері қоршаған орта-модульдер пакетіне кіреді modules.csh және модульдер.sh сценарийлері /etc/profile.d модульдерді инициализациялау әдепкі қабық инициализациясының бөлігі ететін каталог Қоршаған орта модульдерінің артықшылықтарының бірі - bash, ksh, zsh, sh, сонымен қатар tcsh және csh қабықшаларын қоршаған ортаны орнату және инициализациялау үшін қолдайтын жалғыз модульдік файл. Бұл күрделі орталарды басқаруды аздап қиындатады.

Дереккөз үшін барлық қолданушылар үшін автоматтандыруды қолмен конфигурациялауға болады.

Bash, ksh, zsh, sh автоматты модульдерді инициализациялау

/etc/profile.d/modules.sh бастап etc / global / profile.modules 3.2.10 модульдеріндегі каталог құрастыру каталогы.

 тұзақ "" 1 2 3
 
 іс "$0" жылы
     -баш|bash|* / bash) . / usr / local / Modules / default / init / bash ;; 
        -кш|кш|* / кш) . / usr / local / Modules / default / init / ksh ;; 
        -зш|zsh|* / zsh) . / usr / local / Modules / default / init / zsh ;;
                     *) . / usr / local / Modules / default / init / sh ;; # әдепкі
 esac
 
 тұзақ 1 2 3

Көшіріңіз etc / global / profile.modules 3.2.10 модульдерінің каталогына файлды жүйенің инициализация каталогына:

$ sudo cp etc / global / profile.modules /etc/profile.d/modules.sh

3.2.10 нұсқасына жоғарыдағы жалпы мекен-жайларға символдық сілтеме қосыңыз:

$ CD / usr / local / модульдер
$ sudo ln -sT 3.2.10 әдепкі

Tcsh, csh автоматты модульдерді инициализациялау

A /etc/profile.d/modules.csh символдық сілтеме etc / global / profile.modules 3.2.10 модульдерін құрастыру каталогындағы файл осы пайдаланушылар үшін автоматты түрде модульдерді инициализациялауға мүмкіндік береді.

Linux жүйесінде орнату

Yum және rpm көмегімен қоршаған ортаға модульдерді Linux-қа орнату

Scientific Linux, CentOS және RHEL дистрибутивтерінде қоршаған орта модульдері келесі модульдермен орнатылатын қоршаған орта-модульдер пакетіне кіреді:

sudo yum орнату модульдері

Орнатылғаннан кейін пакеттің ақпаратын келесі сілтемелермен қарауға болады:

rpm -qi қоршаған орта-модульдер
rpm -ql орта-модульдер

Apt және dpkg көмегімен Linux-та қоршаған орта модульдерін орнату

Ubuntu-да немесе apt-get қолданатын жүйелерде қоршаған орта модульдерін мыналармен орнатуға болады:

sudo apt-get install қоршаған орта модульдері

Орнатылғаннан кейін пакеттің ақпаратын келесі сілтемелермен қарауға болады:

dpkg -L қоршаған орта-модульдер

Қоршаған орта модульдерін Linux-тен дереккөзден орнату

Бұл дистрибьюторлар менеджерінің көмегімен Linux дистрибьютер репозиторийінен орнату бағдарламалық жасақтаманы қайнар көзден оңай орнатуға болады. Тәуелділікті шешу - бұл дереккөзден қондыру үшін ең қиын міндет. Әдеттегі конфигурациялау, жасау, орнату циклі өте баяу болуы мүмкін, өйткені әрбір жетілдіру жақсарту сіздің әдепкі ортаңызда жоқ басқа тәуелділікті анықтайды. Бұл бөлімге қоршаған орта модульдері бумасын компиляцияны қоса, дереккөзге орнату бойынша қадамдар кіреді Tcl (құралдардың командалық тілі) тәуелділік ретінде көзден.

8.6.1 нұсқасы Tcl (құралдардың командалық тілі) / usr / local / src сайтынан жасалған

PCLinuxOS 64 биттік репозиторийлеріне кіреді Tcl (құралдардың командалық тілі) олар Linux-те қоршаған орта модульдерін қайнар көзінен құру үшін қажетті конфигурация файлдары бар даму бумасын қамтымайды. Ғимарат Tcl көзден қажетті файлдарды қол жетімді етеді.

Tcl көзі: http://sourceforge.net/projects/tcl/files/Tcl/

Жүктеуден кейін дереккөзді шығарыңыз

 CD / usr / local / src
 tar -xvzf ~ / Жүктеулер / tcl8.6.1-src.tar.gz

Конфигурациялаңыз, жасаңыз, орнатыңыз

 CD /usr/local/src/tcl8.6.1
 unix / configure
 жасау
 sudo make install

3.2.10 модульдерінің / usr / local / src-тен жасалған нұсқасы

Жүктеуден кейін дереккөзді шығарып алыңыз

 CD / usr / local / src
 tar -xvzf ~ / Жүктеулер / модульдер-3.2.10.tar.gz

Конфигурациялаңыз, жасаңыз, орнатыңыз

CD /usr/local/src/modules-3.2.10
CPPFLAGS=«-DUSE_INTERP_ERRORLINE» ./configure
жасау
sudo make install

Сондай-ақ қараңыз

Әдебиеттер тізімі

  1. ^ Фурлани, Джон Л. (30 қыркүйек - 3 қазан 1991). «Модульдер: пайдаланушының икемді ортасын қамтамасыз ету» (PDF). Үлкен қондырғы жүйелерін басқару жөніндегі бесінші конференция материалдары (LISA V). Сан-Диего, Калифорния: 141–152. Алынған 9 ақпан 2014.
  2. ^ «NICS пайдаланушыларды қолдау Kraken модульдерінің сипаттамасы». Ұлттық есептеу ғылымдары институты (NICS). Oak Ridge ұлттық зертханасы - энергетика бөлімі. 22 мамыр 2011. мұрағатталған түпнұсқа 22 ақпан 2014 ж. Алынған 9 ақпан 2014.
  3. ^ «NERSC модульдерінің бағдарламалық жасақтама ортасы». Ұлттық энергетикалық зерттеулер ғылыми-есептеу орталығы (NERSC). Ғылым бөлімі - Энергетика бөлімі. 2014-02-07. Алынған 19 ақпан 2014.
  4. ^ «Бағдарламалық жасақтаманың бірнеше нұсқаларына қол жеткізу үшін модульдерді қолдану». Негізгі конфигурация. DoD жоғары өнімділікті есептеуді жаңарту бағдарламасы (HPCMP). 20 наурыз 2008. мұрағатталған түпнұсқа 22 ақпан 2014 ж. Алынған 9 ақпан 2014.
  5. ^ «DoD өнімділігі жоғары есептеуіш техникасын модернизациялау бағдарламасының бастапқы конфигурациясы». Негізгі конфигурация. DoD өнімділігі жоғары есептеулерді жаңғырту бағдарламасы (HPCMP). Архивтелген түпнұсқа 22 ақпан 2014 ж. Алынған 9 ақпан 2014.
  6. ^ Джон Л.Фурлани және Питер В.Осель (шілде 2009). «modulefile - модульдер пакеті үшін Tcl коды бар файлдар». SourceForge. адам парағы. Алынған 9 ақпан 2014.
  7. ^ Джон Л.Фурлани және Питер В.Осель (шілде 2009). «модуль - модульдер пакетінің командалық интерфейсі». SourceForge. адам парағы. Алынған 9 ақпан 2014.

Сыртқы сілтемелер

  1. http://modules.sourceforge.net/ - қоршаған орта модульдері жобасының басты беті
  2. Джон Л.Фурлани, Модульдер: икемді пайдаланушы ортасын ұсыну Үлкен қондырғы жүйелерін басқару жөніндегі бесінші конференция материалдары (LISA V), 141–152 б., Сан-Диего, Калифорния, 30 қыркүйек - 3 қазан 1991 ж.
  3. http://lmod.sourceforge.net - Tcl орнына LUA қолдана отырып балама енгізу
  4. http://www.lysator.liu.se/cmod/ - тек C көмегімен баламалы енгізу
  5. PennState Environment Modules пайдаланушы нұсқаулығы
  6. Модульдер көмегімен 90-шы жылдарға аяқ басу және айқайлау үшін дизайн ортасын сүйреңіз! - SNUB Бостон 2001 - Эрих Уитни, Axiowave желілері, Марк Спраг, ATI Research