환경 모듈(소프트웨어)
Environment Modules (software)![]() |
![]() | |
안정된 릴리스 | 5.1.1 / 2022년 5월 , 전( |
---|---|
저장소 | |
운영 체제 | Unix와 같은 |
면허증. | GNU General Public License #Version 2 |
웹 사이트 | 모듈.소스 포지로 이동합니다.그물 |
Environment Modules 시스템은 관련된 환경변수 설정 그룹을 동적으로 만들거나 삭제할 수 있도록 함으로써 사용자가 Unix 또는 Linux 쉘 환경을 관리하는 데 도움이 되는 도구입니다.
모듈은 1990년대[1] 초부터 존재해 왔으며 사용자에게 여러 버전의 다른 소프트웨어 도구를 배포하기 위해 가장 큰 컴퓨터 센터에서[2] 사용되고 있습니다.National Energy Research Scientific Computing Center(NERSC)는 환경 모듈을 사용하여 거의 모든 [3]소프트웨어를 관리하고 있다고 보고했습니다.환경 모듈은 DoD Supercomputing Resource Center(DSRC; 슈퍼컴퓨팅 자원 센터)에 참가하기 위한 DoD HPCMP([4]High Performance Computing Modernization Program) 프로젝트 기준[5] 구성 팀의 기준 구성 요건으로 지정되어 있습니다.
모듈 파일
모듈 시스템은 함께 작성해야 하는 환경 설정 그룹을 지정하는 모듈 [6]파일을 기반으로 합니다.모듈 파일은 일반적인 용도로는 중앙 위치에 설치하거나 개인 용도로는 사용자 디렉토리에 설치할 수 있습니다.환경 모듈 모듈 파일은 Tcl(툴명령어)로 작성되며 모듈[7] 사용자 인터페이스를 통해 modulecmd 프로그램에 의해 해석됩니다.
환경 모듈의 주요 장점은 셸에 의존하지 않고 bash, ksh, zsh, sh, tcsh, csh 등의 모든 주요 셸을 지원한다는 것입니다.두 번째 주요 장점은 적절한 모듈을 로드하는 것만으로 동일한 계정에서 여러 버전의 프로그램 또는 패키지를 사용할 수 있다는 것입니다.이러한 두 가지 이점은 환경 모듈을 대부분의 HPC 클러스터 설정에 포함시키는 데 중요한 역할을 했습니다.Texas University of Texas 등 TCL 대신 Lua로 작성된 여러 대체 구현에 영감을 주었습니다.
모듈 파일은 버전별로 어플리케이션별로 작성됩니다.동적으로 로드, 언로드 또는 스위칭할 수 있습니다.같은 소프트웨어의 여러 버전을 사용할 수 있는 기능과 더불어 애플리케이션 액세스 및 사용에 관한 사이트 정책을 구현하는 데도 사용할 수 있습니다.
기본 모듈파일 디렉토리
디폴트 모듈 검색 경로는 숨김 설정 파일에 있습니다.표시할 수 있는 설정 경로는 다음과 같습니다.
$ cat ${MOULSHOME}/init/.modulespath /etc/modulefiles # CentOS, Scientific Linux, RHEL/usr/local/Modules/modulefiles # 소스 기본값에서 빌드
그일부 배포(또는 다른 디렉토리)에서 사용되는 /etc/modulefiles 디렉토리는 ${MODULSHOME}/init/.modulespath 파일을 수정하여 소스로부터의 빌드 후에 사용할 수 있습니다.
경로에 자체 모듈 추가
${MODULSHOME}/modulefiles/use.own 모듈은 기본적으로 다음 단계를 수행합니다.
mkdir $HOME/private modules cp ${MODULSHOME}/module files/null $HOME/private modules 모듈 사용 --append $HOME/private modules
계층 조직 내에서 버전 파일 사용
이 섹션의 명령어를 사용하려면 /etc/modulefiles 디렉토리에 대한 읽기/쓰기/실행 액세스가 필요합니다.$HOME/private modules 또는 다른 디렉토리를 "module use --append" 또는 기본 모듈 검색 경로를 지정하는 구성 파일의 수정과 함께 대신 사용할 수 있습니다.
기본 modulefiles 디렉토리는 처음에 비어 있습니다.null 모듈을 기본 module files 디렉토리에 복사하여 "module available"로 표시합니다.다음 예에서는 null 및 module-info 모듈을 사용하여 계층 조직 내에서 버전파일을 사용하고 모듈 가용성 및 모듈 표시에 미치는 영향을 보여 줍니다.
mkdir /etc / modulefiles / test cp ${MODULSHOME} / modulefiles / null / etc / 2.0 cp ${MODULSHOME} / module-info / etc / test / 1.0 module files / module files / test / 1.0 모듈 가용성 모듈 show test
첫 번째 버전을 기본값으로 설정합니다.
echo '#%Module'> /etc/modulefiles/test/.version echo 'set ModulesVersion "1.0'>> /etc/modulefiles/test/.version module available module show test/2.0
디폴트로 새로운 버전으로 전환합니다.
rm /etc/modulefiles/test/.version echo '#%Module' > /etc/modulefiles/test/.version echo 'set ModulesVersion' >> /etc/modulefiles/test/.version module available module available module show module show test
상기 소스로부터의 신규 인스톨 후에, 다음과 같이 표시됩니다.
$ module available -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------modulefilles ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------/etc/syslogfiles/test/1.0: module-whatis는 다양한 모듈 정보 값 ++++++++++++++++++++++ 플래그 = 2 모드 = test/1.0 specified = bash 셸 유형 = sh version = 를 반환합니다. test/1.0 사용자 = advanced trace = 0 tracpat = -.* 심볼 = *undef* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++호스트명 = localhostname = loaded name = loadr/lib/++++++++++++++++++++++shared libextension = . so tclversion = 8 . 6 . 1 + + + + + + + + + + + + + + + + + + + + +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
자동 모듈 초기화
환경 모듈 패키지의 Scientific Linux, CentOS 및 RHEL 배포 환경 모듈에는 modules.csh 및 모듈이 포함됩니다.모듈 초기화를 기본 셸 초기화의 일부로 하는 /etc/profile.d 디렉토리의 sh 스크립트.환경 모듈의 장점 중 하나는 bash, ksh, zsh, sh뿐만 아니라 tcsh 및 csh 쉘 사용자를 환경 셋업 및 초기화에 지원하는 단일 모듈 파일입니다.이로 인해 복잡한 환경 관리가 다소 덜 복잡해집니다.
소스 빌드의 경우 모든 사용자에 대한 자동화를 수동으로 구성할 수 있습니다.
bash, ksh, zsh, sh 자동 모듈 초기화
/etc/profile.d/module.sh는 3.2.10 모듈 빌드 디렉토리의 etc/global/profile.filename 파일에서 가져옵니다.
트랩 " 1 2 3 케이스 "0" in - bash * / bash ) . /usr / local / Modules / default / init / bash ; ; - ksh ksh * / usr / local / Modules / default / init / ksh ; ; ; - zsh zsh zsh * / / / / / local / modules / default ;sh ) 。
etc/global/profile.modules 파일을 3.2.10 모듈의 빌드 디렉토리에서 시스템 초기화 디렉토리에 복사합니다.
$sudo cp etc/global/profile.profile /etc/profile.d/profile.profile.쉐
위의 범용 주소에 버전 3.2.10 심볼릭링크를 추가합니다.
$ cd /usr / local / Modules $ sudo ln - sT 3.2.10 기본값
tcsh, csh 자동 모듈 초기화
3.2.10 모듈 빌드 디렉토리의 etc/global/profile.modules 파일에 대한 /etc/profile.d/modules.csh 심볼릭링크를 사용하면 이러한 사용자에 대해 자동 모듈 초기화를 활성화할 수 있습니다.
Linux에 설치
yum 및 rpm을 사용하여 Linux에 환경 모듈 설치
Scientific Linux, CentOS 및 RHEL 배포 환경 모듈은 환경 모듈 패키지에 포함되어 있으며 다음과 함께 설치할 수 있습니다.
sudo yum 설치 환경 정의
인스톨 하면, 다음의 순서로 패키지 정보를 표시할 수 있습니다.
rpm - qi 환경 - rpm -ql 환경 - 정의
apt 및 dpkg을 사용한 Linux 환경 모듈 설치
Ubuntu 또는 apt-get을 사용하는 시스템에서는 환경 모듈을 다음과 같이 설치할 수 있습니다.
sudo apt, get 설치 환경 관리
인스톨 하면, 다음의 순서로 패키지 정보를 표시할 수 있습니다.
dpkg - L 환경 모듈
소스에서 Linux 환경 모듈 설치
해당 배포 Update Manager를 사용하여 Linux 배포 저장소에서 설치하는 것이 가장 쉽지만 소프트웨어를 소스에서 설치할 수 있습니다.종속성 해결은 소스 설치에서 가장 어려운 작업입니다.설정을 개선할 때마다 디폴트 환경에서 사용할 수 없는 다른 의존관계가 드러나기 때문에 일반적인 설정, 작성, 설치 사이클이 매우 느려질 수 있습니다.이 항에서는 환경 모듈 패키지를 소스에 설치하는 절차에 대해 설명합니다.이 절차에는 의존관계로서 소스로부터의 Tcl(Tool Command Language) 컴파일이 포함됩니다.
/usr/local/src에서 빌드된 Tcl(툴명령어) 8.6.1 버전
PCLinuxOS 64비트 저장소에는 Tcl(Tool Command Language)이 포함되어 있지만 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 설치
/usr/local/src에서 빌드된 모듈의 3.2.10 버전
다운로드 후 소스 추출
cd /usr/local/src tar -xvzf ~/Downloads/modules-3.2.10.tar.gz
구성, 제조, 설치
cd /usr/local/src/http-3.2.10 CPPLAGS="DSE_INTERP_ERRORLINE" ./configure make sudo make install
「 」를 참조해 주세요.
- Tcl#툴 명령어로서의 Tcl#
- Xsede 소프트웨어 환경익스트림 이공계 발견 환경 - 미국 국립과학재단
- NIC 모듈 설명 - Oak Ridge National Laboratory의 National Institute for Computational Science - 에너지부
- Lmod - Lua 기반 모듈시스템
- 스팩 - Lawrence Livermore National Laboratory에서 개발된 HPC 소프트웨어용 패키지 매니저
레퍼런스
- ^ Furlani, John L. (September 30 – October 3, 1991). "Modules: Providing a Flexible User Environment" (PDF). Proceedings of the Fifth Large Installation Systems Administration Conference (LISA V). San Diego, CA: 141–152. Retrieved 9 February 2014.
- ^ "NICS User Support Kraken Modules Description". The National Institute for Computational Sciences (NICS). Oak Ridge National Laboratory - Department of Energy. 22 May 2011. Archived from the original on 22 February 2014. Retrieved 9 February 2014.
- ^ "NERSC Modules Software Environment". The National Energy Research Scientific Computing Center (NERSC). Office of Science - Department of Energy. 2014-02-07. Retrieved 19 February 2014.
- ^ "Use of Modules for Accessing Multiple Versions of Software". Baseline Configuration. DoD High Performance Computing Modernization Program (HPCMP). 20 Mar 2008. Archived from the original on 22 February 2014. Retrieved 9 February 2014.
- ^ "DoD High Performance Computing Modernization Program Baseline Configuration". Baseline Configuration. DoD High Performance Computing Modernization Program (HPCMP). Archived from the original on 22 February 2014. Retrieved 9 February 2014.
- ^ John L. Furlani & Peter W. Osel (July 2009). "modulefile - files containing Tcl code for the Modules package". SourceForge. man page. Retrieved 9 February 2014.
- ^ John L. Furlani & Peter W. Osel (July 2009). "module - command interface to the Modules package". SourceForge. man page. Retrieved 9 February 2014.
외부 링크
- http://modules.sourceforge.net/ - 환경 모듈 프로젝트 홈페이지
- John L. Furlani, 모듈: 제5회 대규모 설치 시스템 관리 회의(LISA V)의 유연한 사용자 환경 절차 제공, 1991년 9월 30일~10월 3일, 캘리포니아 샌디에이고 페이지 141~152.
- http://lmod.sourceforge.net - TCL 대신 LUA를 사용한 대체 구현
- http://www.lysator.liu.se/cmod/ - C만을 사용한 대체 구현
- PennState 환경 모듈 사용자 가이드
- 모듈로 디자인 환경을 90년대에 끌어모으자!- SNUB Boston 2001 - Erich Whitney, Axiowave Networks, Mark Sprague, ATI Research