Jump to content

Модули среды (программное обеспечение)

(Перенаправлено из среды модулей )
Модули среды
Стабильная версия
5.4.0 / 20 февраля 2024 г .; 5 месяцев назад ( 20 февраля 2024 г. )
Репозиторий
Операционная система Unix-подобный
Лицензия Стандартная общественная лицензия GNU # Версия 2
Веб-сайт модули .sourceforge .сеть

Система модулей среды — это инструмент, помогающий пользователям управлять средой оболочки Unix или Linux , позволяя динамически создавать или удалять группы связанных настроек переменных среды.

Модули существуют с начала 1990-х годов. [1] и используется в некоторых крупнейших компьютерных центрах [2] развертывать для пользователей несколько версий различных программных инструментов. Национальный научно-вычислительный центр энергетических исследований (NERSC) сообщает, что они используют модули окружающей среды для управления почти всем программным обеспечением. [3] Модули среды указаны в качестве требования базовой конфигурации Программы модернизации высокопроизводительных вычислений Министерства обороны США (HPCMP). [4] Базовая конфигурация проекта [5] команда для участия в суперкомпьютерных ресурсных центрах Министерства обороны США (DSRC).

файлы модулей

[ редактировать ]

Система модулей основана на файлах модулей, [6] которые определяют группы настроек среды, которые необходимо выполнить вместе. Файлы модулей могут быть установлены в центральном месте для общего использования или в каталоге пользователя для личного использования. Модули среды. Файлы модулей написаны на Tcl (языке команд инструментов) и интерпретируются программой ModuleCMD через модуль [7] пользовательский интерфейс.

Ключевым преимуществом модулей среды является то, что они не зависят от оболочки и поддерживают все основные оболочки, такие как bash, ksh, zsh, sh, tcsh и csh. Второе ключевое преимущество заключается в том, что оно позволяет использовать несколько версий программы или пакета из одной учетной записи, просто загрузив соответствующий модуль. Эти два преимущества сыграли важную роль в том, что модули среды стали частью большинства установок кластера HPC. Это также вдохновило на создание нескольких альтернативных реализаций, таких как lmod от Техасского университета, который написан на Lua вместо TCL.

Файлы модулей создаются для каждого приложения для каждой версии. Их можно динамически загружать, выгружать или переключать. Наряду с возможностью использования нескольких версий одного и того же программного обеспечения его также можно использовать для реализации политик сайта в отношении доступа и использования приложений.

Каталог модулей по умолчанию

[ редактировать ]

Путь поиска модулей по умолчанию находится в скрытом файле конфигурации, который вы можете отобразить с помощью:

$ cat ${MODULESHOME}/init/.modulespath
/etc/modulefiles # CentOS, Scientific Linux, RHEL
/usr/local/Modules/modulefiles # Build from source default

The Каталог /etc/modulefiles, используемый некоторыми дистрибутивами (или любой другой каталог), можно использовать после сборки из исходного кода, изменив файл Файл ${MODULESHOME}/init/.modulespath .

Добавьте свои собственные модули в путь

[ редактировать ]

The Модуль ${MODULESHOME}/modulefiles/ use.own по сути выполняет следующие шаги:

 mkdir $HOME/privatemodules
 cp ${MODULESHOME}/modulefiles/null $HOME/privatemodules
 module use --append $HOME/privatemodules

Используйте файл версии в иерархической организации.

[ редактировать ]

Для команд в этом разделе требуется доступ на чтение/запись/выполнение к каталогу /etc/modulefiles. Вместо этого можно использовать $HOME/privatemodules или другой каталог вместе с «module use --append» или модификацией файла конфигурации, указывающей путь поиска модулей по умолчанию.

Каталог модулей по умолчанию изначально пуст. Скопируйте нулевой модуль в каталог модулей модулей по умолчанию, чтобы он отображался с помощью «module Available». Ниже используются модули null и Module-info, чтобы показать использование файла версии в иерархической организации и их влияние на доступность модуля и отображение модуля:

 mkdir /etc/modulefiles/test
 cp ${MODULESHOME}/modulefiles/null /etc/modulefiles/test/2.0
 cp ${MODULESHOME}/modulefiles/module-info /etc/modulefiles/test/1.0
 module avail
 module show test

Установите первую версию по умолчанию:

 echo '#%Module' > /etc/modulefiles/test/.version
 echo 'set ModulesVersion "1.0"' >> /etc/modulefiles/test/.version
 module avail
 module show test
 module show test/2.0

Переключитесь на более новую версию по умолчанию с помощью:

 rm /etc/modulefiles/test/.version
 echo '#%Module' > /etc/modulefiles/test/.version
 echo 'set ModulesVersion "2.0"' >> /etc/modulefiles/test/.version
 module avail
 module show test

После вышеизложенного после новой установки из исходного кода вы увидите:

$ module avail

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

------------------------------- /etc/modulefiles -------------------------------
null              test/1.0          test/2.0(default)

--------------------------- /home/user/privatemodules --------------------------
null

$ module show test
-------------------------------------------------------------------
/etc/modulefiles/test/2.0:

module-whatis    does absolutely nothing 
-------------------------------------------------------------------

$ module show test/1.0
-------------------------------------------------------------------
/etc/modulefiles/test/1.0:

module-whatis    returns all various module-info values 
+++ module-info +++++++++++++++++++++++++++++++
flags                   = 2
mode                    = display
name                    = test/1.0
specified               = test/1.0
shell                   = bash
shelltype               = sh
version                 = test/1.0
user                    = advanced
trace                   = 0
tracepat                = -.*
symbols                 = *undef*
+++ info ++++++++++++++++++++++++++++++++++++++
hostname                = localhost
level                   = 1
loaded null             = 0
library                 = /usr/local/lib/tcl8.6
nameofexecutable        =
sharedlibextension      = .so
tclversion              = 8.6
patchlevel              = 8.6.1
+++++++++++++++++++++++++++++++++++++++++++++++
-------------------------------------------------------------------

Автоматическая инициализация модулей

[ редактировать ]

Модули среды в дистрибутивах Scientific Linux, CentOS и RHEL в пакете модулей среды включают модули.csh и Скрипты Modules.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.

 trap "" 1 2 3
 
 case "$0" in
     -bash|bash|*/bash) . /usr/local/Modules/default/init/bash ;; 
        -ksh|ksh|*/ksh) . /usr/local/Modules/default/init/ksh ;; 
        -zsh|zsh|*/zsh) . /usr/local/Modules/default/init/zsh ;;
                     *) . /usr/local/Modules/default/init/sh ;; # default
 esac
 
 trap 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/Modules
$ sudo ln -sT 3.2.10 default

tcsh, автоматическая инициализация модулей csh

[ редактировать ]

А /etc/profile.d/modules.csh символическая ссылка на Файл etc/global/profile.modules в каталоге сборки модулей 3.2.10 может включить автоматическую инициализацию модулей для этих пользователей.

Установка в Linux

[ редактировать ]

Установка модулей среды в Linux с помощью yum и rpm

[ редактировать ]

В дистрибутивах Scientific Linux, CentOS и RHEL модули среды находятся в пакете модулей среды, который можно установить с помощью:

sudo yum install environment-modules

После установки информацию о пакете можно просмотреть с помощью:

rpm -qi environment-modules
rpm -ql environment-modules

Установка модулей среды в Linux с помощью apt и dpkg

[ редактировать ]

В Ubuntu или системах, использующих apt-get, модули среды можно установить с помощью:

sudo apt-get install environment-modules

После установки информацию о пакете можно просмотреть с помощью:

dpkg -L environment-modules

Установка модулей среды в Linux из исходного кода

[ редактировать ]

Хотя установка из репозитория дистрибутива Linux с использованием этого менеджера обновлений дистрибутива является самой простой, программное обеспечение можно установить из исходного кода. Устранение зависимостей — самая сложная задача при установке из исходного кода. Типичный цикл настройки, сборки и установки может стать мучительно медленным, поскольку каждое улучшение конфигурации выявляет еще одну зависимость, недоступную в вашей среде по умолчанию. В этом разделе описаны действия по установке пакета модулей среды в исходном коде, включая компиляцию Tcl (язык командных инструментов) из исходного кода в качестве зависимости.

Версия 8.6.1 Tcl (язык команд инструментов), созданная из /usr/local/src

[ редактировать ]

Хотя 64-разрядные репозитории PCLinuxOS включают Tcl (язык команд инструментов), они не включают пакет разработки с файлами конфигурации, необходимыми для сборки модулей среды в Linux из исходного кода. Сборка Tcl из исходного кода сделает необходимые файлы доступными.

Источник Tcl: http://sourceforge.net/projects/tcl/files/Tcl/

Извлечь исходный код после загрузки

 cd /usr/local/src
 tar -xvzf ~/Downloads/tcl8.6.1-src.tar.gz

Настроить, сделать, установить

 cd /usr/local/src/tcl8.6.1
 unix/configure
 make
 sudo make install

3.2.10 версия модулей, собранных из /usr/local/src

[ редактировать ]

Извлечь исходный код после загрузки

 cd /usr/local/src
 tar -xvzf ~/Downloads/modules-3.2.10.tar.gz

Настроить, сделать, установить

cd /usr/local/src/modules-3.2.10
CPPFLAGS="-DUSE_INTERP_ERRORLINE" ./configure
make
sudo make install

См. также

[ редактировать ]
  1. ^ Фурлани, Джон Л. (30 сентября – 3 октября 1991 г.). «Модули: обеспечение гибкой пользовательской среды» (PDF) . Материалы Пятой конференции по администрированию больших инсталляционных систем (LISA V) . Сан-Диего, Калифорния: 141–152 . Проверено 9 февраля 2014 г.
  2. ^ «Описание модулей Kraken поддержки пользователей NICS» . Национальный институт вычислительных наук (NICS) . Окриджская национальная лаборатория – Министерство энергетики. 22 мая 2011 г. Архивировано из оригинала 22 февраля 2014 г. . Проверено 9 февраля 2014 г.
  3. ^ «Программная среда модулей NERSC» . Национальный научно-вычислительный центр энергетических исследований (NERSC) . Управление науки – Министерство энергетики. 07.02.2014 . Проверено 19 февраля 2014 г.
  4. ^ «Использование модулей для доступа к нескольким версиям программного обеспечения» . Базовая конфигурация . Программа модернизации высокопроизводительных вычислений Министерства обороны США (HPCMP). 20 марта 2008 г. Архивировано из оригинала 22 февраля 2014 г. . Проверено 9 февраля 2014 г.
  5. ^ «Базовая конфигурация программы модернизации высокопроизводительных вычислений Министерства обороны США» . Базовая конфигурация . Программа модернизации высокопроизводительных вычислений Министерства обороны США (HPCMP). Архивировано из оригинала 22 февраля 2014 года . Проверено 9 февраля 2014 г.
  6. ^ Джон Л. Фурлани и Питер В. Осел (июль 2009 г.). «файл_модуля — файлы, содержащие код Tcl для пакета «Модули» . СоурсФордж . справочная страница . Проверено 9 февраля 2014 г.
  7. ^ Джон Л. Фурлани и Питер В. Осел (июль 2009 г.). «модуль — командный интерфейс пакета модулей» . СоурсФордж . справочная страница . Проверено 9 февраля 2014 г.
[ редактировать ]
  1. http://modules.sourceforge.net/ — домашняя страница проекта модулей среды.
  2. Джон Л. Фурлани, Модули: обеспечение гибкой пользовательской среды, материалы Пятой конференции по администрированию крупных инсталляционных систем (LISA V) , стр. 141–152, Сан-Диего, Калифорния, 30 сентября - 3 октября 1991 г.
  3. http://lmod.sourceforge.net — альтернативная реализация с использованием LUA вместо Tcl
  4. http://www.lysator.liu.se/cmod/ — альтернативная реализация только с использованием C
  5. Руководство пользователя модулей среды PennState
  6. Перенесите свою среду проектирования в 90-е с помощью модулей! - SNUB Бостон, 2001 г. - Эрих Уитни, Axiowave Networks, Марк Спрэг, ATI Research
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 7f84611276afd3a7275d022758df30ac__1708422480
URL1:https://arc.ask3.ru/arc/aa/7f/ac/7f84611276afd3a7275d022758df30ac.html
Заголовок, (Title) документа по адресу, URL1:
Environment Modules (software) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)