Ortam Modülleri (yazılım) - Environment Modules (software)

Çevre Modülleri
Ortam Modülleri logo.svg
kararlı sürüm
5.0.1 / 16 Ekim 2021 ; 1 gün önce ( 2021-10-16 )
depo
İşletim sistemi Unix benzeri
Lisans GNU Genel Kamu Lisansı#Sürüm 2
İnternet sitesi modüller .sourceforge .net

Çevre Modüller sistem fazla yardımcı olmak için bir araçtır onların yönetmek olduğunu Unix veya Linux ilgili çevre değişkeni ayarları grupları yapılmış veya dinamik kaldırılacak izin vererek, kabuk ortamı.

Modüller 1990'ların başından beri kullanılmaktadır ve en büyük bilgisayar merkezlerinden bazılarında farklı yazılım araçlarının birden çok sürümünü kullanıcılara dağıtmak için kullanılmaktadır. Ulusal Enerji Araştırmaları Bilimsel Hesaplama Merkezi (NERSC), neredeyse tüm yazılımları yönetmek için Çevre Modüllerini kullandıklarını bildirmektedir. Ortam Modülleri, DoD Süper Bilgi İşlem Kaynak Merkezlerine (DSRC'ler) katılmak için DoD Yüksek Performanslı Bilgi İşlem Modernizasyon Programı (HPCMP) Projesi Temel Yapılandırma ekibinin Temel Yapılandırma gereksinimi olarak belirtilir.

modül dosyaları

Modüller sistemi, birlikte yapılması gereken ortam ayarları gruplarını belirten modül dosyalarına dayanır. Modül dosyaları, genel kullanım için merkezi bir konuma veya kişisel kullanım için bir kullanıcı dizinine kurulabilir. Ortam Modülleri modül dosyaları, Tcl'de (Araç Komut Dili) yazılır ve modül kullanıcı arabirimi aracılığıyla modulecmd programı tarafından yorumlanır.

Ortam Modüllerinin en önemli avantajı, kabuktan bağımsız olması ve bash, ksh, zsh, sh, tcsh ve csh gibi tüm ana kabukları desteklemesidir. İkinci önemli avantajı, sadece uygun modülü yükleyerek aynı hesaptan program veya paketin birden çok sürümünün kullanılmasına izin vermesidir. Bu iki avantaj, Ortam Modüllerini çoğu HPC küme kurulumunun bir parçası haline getirmede etkiliydi. Ayrıca TCL yerine Lua ile yazılmış Texas Üniversitesi'nden lmod gibi birkaç alternatif uygulamaya da ilham verdi.

modül dosyaları, sürüm bazında uygulama başına oluşturulur. Dinamik olarak yüklenebilir, yüklenebilir veya anahtarlanabilirler. Aynı yazılımın birden çok sürümünü kullanma yeteneğinin yanı sıra, uygulamalara erişim ve kullanımla ilgili site politikalarını uygulamak için de kullanılabilir.

varsayılan modül dosyaları dizini

Varsayılan modül arama yolu, aşağıdakilerle görüntüleyebileceğiniz gizli bir yapılandırma dosyasındadır:

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

/ Etc / modulefiles bazı dağılımlar (veya başka bir dizinine) tarafından kullanılan dizin değiştirerek kaynağından bir yapı sonra kullanılabilir $ {MODULESHOME} /init/.modulespath dosyasını.

Yola kendi modüllerinizi ekleyin

$ {MODULESHOME} / modulefiles / use.own modülü esasen aşağıdaki adımları gerçekleştirir:

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

Hiyerarşik bir organizasyon içinde bir sürüm dosyası kullanın

Bu bölümdeki komutlar, /etc/modulefiles dizinine okuma/yazma/yürütme erişimi gerektirir. Bunun yerine $HOME/privatemodules veya başka bir dizin, "module use --append" veya varsayılan modül arama yolunu belirten yapılandırma dosyasının değiştirilmesi ile birlikte kullanılabilir.

Varsayılan modül dosyaları dizini başlangıçta boştur. Boş modülü, "modül kullanılabilirliği" ile gösterilmesi için varsayılan modül dosyaları dizinine kopyalayın. Aşağıdakiler, hiyerarşik bir organizasyon içinde bir sürüm dosyasının kullanımını ve bunların modül kullanılabilirliği ve modül gösterisi üzerindeki etkilerini göstermek için boş ve modül bilgisi modüllerini kullanır:

 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

İlk sürümü varsayılan olarak ayarlayın:

 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

Aşağıdakilerle varsayılan olarak daha yeni sürüme geçin:

 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

Yukarıdakilerden sonra, kaynaktan yeni bir yüklemenin ardından şunu görürsünüz:

$ 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
+++++++++++++++++++++++++++++++++++++++++++++++
-------------------------------------------------------------------

Otomatik modül başlatma

Çevre modülleri paketinde Çevre Bilimsel Linux CentOS üzerinde Modüller ve RHEL dağılımları dahil modules.csh ve modules.sh için komut /etc/profile.d yapmak modülleri varsayılan kabuk başlatma kısmını başlatmayla bu dizine. Ortam Modüllerinin avantajlarından biri, ortam kurulumu ve başlatma için bash, ksh, zsh, sh ve ayrıca tcsh ve csh kabuk kullanıcılarını destekleyen tek bir modül dosyasıdır. Bu, karmaşık ortamları yönetmeyi biraz daha az karmaşık hale getirir.

Bir kaynak derlemesi için tüm kullanıcılar için otomasyon manuel olarak yapılandırılabilir.

bash, ksh, zsh, sh otomatik modül başlatma

/etc/profile.d/modules.sh gelen etc / küresel / profile.modules 3.2.10 modülleri inşa dizinindeki dosyasında.

 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 dosyasını 3.2.10 modül oluşturma dizininden sistem başlatma dizinine kopyalayın :

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

Yukarıdaki genel adresler için bir sürüm 3.2.10 sembolik bağlantı ekleyin:

$ cd /usr/local/Modules
$ sudo ln -sT 3.2.10 default

tcsh, csh otomatik modülleri başlatma

Bir /etc/profile.d/modules.csh için sembolik bağlantı vb / küresel / profile.modules 3.2.10 modülleri inşa dizindeki dosyanın otomatik modülleri bu kullanıcılar için başlatmayla etkinleştirebilirsiniz.

Linux'ta yükleme

yum ve rpm kullanarak Linux'ta Ortam Modüllerini Kurma

Scientific Linux, CentOS ve RHEL dağıtımlarında Ortam Modülleri, aşağıdakilerle kurulabilen ortam modülleri paketindedir:

sudo yum install environment-modules

Kurulduktan sonra paket bilgileri şu şekilde görüntülenebilir:

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

Apt ve dpkg kullanarak Linux'ta Ortam Modüllerini Kurma

Ubuntu'da veya apt-get kullanan sistemlerde, Ortam Modülleri aşağıdakilerle kurulabilir:

sudo apt-get install environment-modules

Kurulduktan sonra paket bilgileri şu şekilde görüntülenebilir:

dpkg -L environment-modules

Ortam Modüllerini Linux'a kaynaktan yükleme

Bu dağıtım güncelleme yöneticisini kullanarak bir Linux dağıtım deposundan kurulum yapmak, yazılımın kaynaktan kurulabileceği en kolay yol olsa da. Bağımlılıkları çözmek, kaynaktan yükleme için en zor görevdir. Tipik yapılandırma, oluşturma, yükleme döngüsü, her yapılandırma geliştirmesi, varsayılan ortamınızda bulunmayan başka bir bağımlılığı ortaya çıkardığından, ağrılı bir şekilde yavaşlayabilir. Bu bölüm, Tcl'nin (Araç Komut Dili) kaynaktan bir bağımlılık olarak derlenmesi dahil, Ortam Modülleri paketini kaynağa yükleme adımlarını içerir .

/usr/local/ src'den oluşturulmuş Tcl'nin (Araç Komut Dili) 8.6.1 sürümü

PCLinuxOS 64-bit depoları Tcl (Araç Komut Dili) içermesine rağmen, Linux üzerinde Kaynaktan Ortam Modülleri oluşturmak için gereken yapılandırma dosyalarını içeren bir geliştirme paketi içermez. Bina Tcl kaynağından gerekli dosyaları kullanılabilir hale getirir.

Tcl Kaynağı: http://sourceforge.net/projects/tcl/files/Tcl/

İndirdikten sonra kaynağı çıkar

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

Yapılandırın, yapın, yükleyin

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

/usr/local/src'den oluşturulmuş modüllerin 3.2.10 sürümü

İndirdikten sonra kaynağı çıkar

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

Yapılandırın, yapın, yükleyin

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

Ayrıca bakınız

Referanslar

Dış bağlantılar

  1. http://modules.sourceforge.net/ - Çevre Modülleri projesinin ana sayfası
  2. John L. Furlani, Modüller: Esnek Kullanıcı Ortamının Sağlanması Beşinci Büyük Kurulum Sistemleri Yönetim Konferansı Bildiriler Kitabı (LISA V) , s. 141–152, San Diego, CA, 30 Eylül - 3 Ekim 1991.
  3. http://lmod.sourceforge.net - Tcl yerine LUA kullanan alternatif uygulama
  4. http://www.lysator.liu.se/cmod/ - yalnızca C kullanan alternatif uygulama
  5. PennState Ortam Modülleri Kullanıcı Kılavuzu
  6. Modüller ile tasarım ortamınızı tekmeleyerek ve çığlık atarak 90'lara sürükleyin! - SNUB Boston 2001 - Erich Whitney, Axiowave Networks, Mark Sprague, ATI Research