Article de reference

Modules d'environnement (logiciel)

Le système de modules d'environnement est un outil logiciel conçu pour aider les utilisateurs à modifier dynamiquement leur environnement shell . Il fournit un mécanisme permett...

outil logiciel conçu pour aider les utilisateurs à modifier dynamiquement leur environnement shell . Il fournit un mécanisme permettant de gérer et de basculer entre différents ensembles de paramètres de variables d'environnement , souvent utilisés pour configurer divers logiciels, compilateurs et bibliothèques.

de calcul haute performance (HPC) où les utilisateurs peuvent avoir besoin d'accéder à plusieurs versions d'une même application. Les utilisateurs chargent et déchargent des scripts appelés fichiers de module pour modifier des variables d'environnement telles que PATH ou LD_LIBRARY_PATH .Bash , ksh , Zsh , Fish , sh , tcsh et csh ), les shells Windows ( CMD.EXE et PowerShell ) et plusieurs langages de script ( Perl , Python , Ruby , Tcl , CMake et R ).

Les modules d'environnement gèrent tous les types d'éléments faisant partie de l'environnement du shell, y compris les variables d'environnement , les alias du shell , les fonctions du shell et la complétion de la ligne de commande .

Histoire

Les modules d'environnement ont été développés pour la première fois au début des années 1990 par John L. Furlani chez Sun Microsystems . La version 1 a été développée sous forme de scripts shell purs. Avec la version 2, les modules d'environnement sont devenus un programme C évaluant des fichiers de modules écrits en Tcl .

Au milieu des années 1990, Peter W. Osel ( Siemens) et Jens Hamisch (Strawberry) ont publié la version 3.0 bêta. À la fin des années 1990 , R.K. Owen (NERSC) a repris le projet et l'a porté sur Linux . Il a publié la version 3.1 en 2000 sous licence publique générale GNU (GPL).

Au cours des années 2000, les modules d'environnement ont gagné en popularité dans le domaine du calcul haute performance (HPC) et ont commencé à être utilisés dans les plus grands centres de calcul. Les modules d'environnement ont été spécifiés comme une exigence de configuration de base du programme de modernisation du calcul haute performance (HPCMP) du département de la Défense américain .

En 2004, Mark Lakata de MIPS Technologies a développé une réimplémentation en Tcl pur des modules d'environnement. La maintenance de cette version alternative a ensuite été poursuivie par Kent Mein à l' Université du Minnesota .

En 2008, Robert McLay du Texas Advanced Computing Center (TACC) a introduit Lmod, un projet d'implémentation alternatif de modules d'environnement écrits en Lua .

Après la sortie de la version 3.2.10 en décembre 2012, le développement de l' implémentation C des modules d'environnement a été abandonné. Au cours des années suivantes, le projet Lmod a gagné en popularité au sein de la communauté du calcul haute performance .

En 2017, la direction du projet Environment Modules a été confiée à Xavier Delaruelle du Commissariat à l'énergie atomique et aux énergies alternatives (CEA). Il a publié la version 4, basée sur une implémentation Tcl pure , adaptée pour maintenir la compatibilité avec la version C précédente . Depuis, de nouvelles fonctionnalités ont été régulièrement ajoutées afin d'améliorer l'ergonomie et d'étendre les fonctionnalités.

En 2025, Modules est devenu un projet de la Linux Foundation faisant partie de la High Performance Software Foundation (HPSF).

Architecture

Les modules d'environnement fournissent la commande `modulecmd.tcl` ainsi qu'une fonction shell ou un alias nommé ` module` . Cette commande interprète les fichiers de module , des scripts écrits en Tcl qui définissent des modifications d'environnement, et produit le code shell correspondant. La fonction shell ou l'alias évalue ensuite ce code pour mettre à jour la session shell courante en conséquence.

Un fichier module modifie généralement les variables d'environnement telles que PATH , MANPATH ou LD_LIBRARY_PATH . L'exemple ci-dessous illustre un fichier module simple pour un logiciel :Linux et Unix . Il est disponible sous le nom de paquet environment-modules sur Debian , Ubuntu , Red Hat Enterprise Linux et Fedora . Le logiciel est également disponible pour macOS via le projet Homebrew , et une version est proposée pour Windows . Lorsqu'aucune distribution pré-packagée n'est fournie, le projet met à disposition le code source et la documentation nécessaires à l'installation et à la configuration manuelles.

Plus d articles de Worldlex Wiki

Revenez a l index pour explorer davantage de pages sur l histoire, la science, la culture, la geographie et la societe en francais.

Explorer l index