"मॉड्यूल लोड" कमांड काम नहीं करता है


12

मैं निम्नलिखित कमांड के साथ "ग्लोबल क्लाइमेट मॉडल" संकलित करने की कोशिश कर रहा हूं।

module unload pgi gcc
module load gcc/4.6.3 pgi/11.8

जब मैं उन्हें निष्पादित करता हूं, तो टर्मिनल जवाब देता है command not found

मैं क्या गलत कर रहा हूं? ऐसा करने का सही तरीका क्या है?


क्या आप बता सकते हैं कि "ग्लोबल क्लाइमेट मॉडल" क्या है? आपको वे निर्देश कहां से मिल रहे हैं?
ओली

1
मैंने यह उत्तर एक टिप्पणी में दिया होगा, लेकिन प्रतिष्ठा की कमी के कारण नहीं हो सकता :( ऐसा प्रतीत होता है कि environment-modules12.04 में उपलब्ध नहीं है, लेकिन 12.10 से ऊपर की ओर: < package.ubuntu.com/search?keywords=environment-modules >
tssch

जवाबों:


25

बस पिछली टिप्पणियों और उत्तरों को संक्षेप में प्रस्तुत करना और पहले-हाथ स्थापना अनुभव का एक सा जोड़ना :

आप पर्यावरण मॉड्यूल पैकेज moduleद्वारा प्रदान की गई कमांड की तलाश कर रहे हैं । यह शेल पर्यावरण (PATH लेकिन यह भी उपनाम आदि) को संशोधित करने के लिए एक उपकरण है और कई मल्टी-उपयोगकर्ता क्लस्टर जैसे उच्च-प्रदर्शन कम्प्यूटिंग क्लस्टर के लिए आम है।

आपको मिले निर्देश संभवतः कुछ एचपीसी क्लस्टर से थे, क्योंकि आप एक वैश्विक जलवायु मॉडल चलाना चाहते हैं। एचपीसी पर पर्यावरण मॉड्यूल के बारे में और पढ़ें ।

अब कुछ के लिए वास्तव में Ubuntu -संबंधित: यह वास्तव में उबुन्टु के तहत पर्यावरण मॉड्यूल स्थापित करने के लिए एक दर्द का ज्यादा नहीं है। मैंने इसे केवल 10 मिनट में Ubuntu 14.10 और बैश शेल के लिए किया।

जैसा कि अन्य पोस्ट में बताया गया है, आप रिपॉजिट (पैकेज environment-modules) से एनवायरनमेंट मॉड्यूल इंस्टॉल कर सकते हैं ।

फिर तुम दौड़ो add.modules। यह इस मामले में आपके शेल इनबिल्टाइजेशन फ़ाइल में कुछ लाइनें डाल देगा ~/.bashrc:

case "$0" in
          -sh|sh|*/sh)  modules_shell=sh ;;
       -ksh|ksh|*/ksh)  modules_shell=ksh ;;
       -zsh|zsh|*/zsh)  modules_shell=zsh ;;
    -bash|bash|*/bash)  modules_shell=bash ;;
esac
module() { eval `/usr/Modules/$MODULE_VERSION/bin/modulecmd $modules_shell $*`; }
#module() { eval `/usr/bin/modulecmd $modules_shell $*`; }

आपको अंतिम पंक्ति को अनसुना करने और दूसरी टिप्पणी करने या हटाने की आवश्यकता है। यह पंक्ति उस moduleकमांड को परिभाषित करती है जिसे आप खोज रहे थे। यह प्रभावी रूप से आपके द्वारा दिए modulecmd bashगए तर्कों को प्रभावी ढंग से चलाता है।

मुझे लग रहा है कि यह समारोह वास्तव में बहुत सुरक्षित नहीं है क्योंकि यह कुछ भी मूल्यांकन करता है जो आप इसे अपने तर्कों के साथ आपूर्ति करते हैं। कुछ उपयोगकर्ता शायद इसे बेहतर बनाने के लिए टिप्पणी कर सकते हैं।

अब आपको बस कुछ निर्देशिका बनाने की आवश्यकता है, जिसमें तथाकथित हैं modulefilesऔर $MODULEPATHउदाहरण के लिए , इसे जोड़ें module use /path/to/your/modulefilesइंटरव्यू पर वहाँ मॉड्यूलफाइल्स के उदाहरण हैं ।

मुझे यह केवल बहु-उपयोगकर्ता समूहों के लिए बहुत उपयोगी उपकरण लगता है। मैं इसे विभिन्न पायथन वितरणों के बीच स्विच करने के लिए उपयोग करता हूं।


1
मुझे लगता है कि यह प्रश्न का स्वीकृत उत्तर होना चाहिए
क्रेडेंडो

उदाहरण मॉड्यूल फाइलें लिंक मर चुका है
muenalan


1
प्रत्येक उपयोगकर्ता को चलाने की आवश्यकता /usr/share/modules/bin/add.modulesअसुविधाजनक लगती है। मैंने "/etc/profile.d/modules.sh" को फ़ाइल की शुरुआत में जोड़ा /etc/bash.bashrc यह उन उपयोगकर्ताओं के लिए एक समाधान हो सकता है जिनके पास उनके लॉगिन शेल के रूप में बैश हैं। ध्यान दें, यह केवल GUI लॉगिन के लिए आवश्यक था। एसएसएच-लॉगिन परिवर्तन से पहले ही काम कर रहा था। आपको क्या लगता है, क्या यह एक अच्छा समाधान है या आप कुछ और सलाह देते हैं?
एरिक Sjölund

मैं देख सकता हूं कि पर्यावरण-मॉड्यूल पैकेज ने ऐतिहासिक रूप से 'मॉड्यूल' फ़ंक्शन को आपके शेल में प्राप्त करने के लिए विधि बदल दी है। एक पुराने Red Hat सिस्टम में, यह है /etc/profile.d/modules.shकि मुझे मॉड्यूल फ़ंक्शन प्रदान करने के लिए स्रोत होना चाहिए (मैं rpm -ql environment-modulesसमझता था कि क्या फाइलें उपलब्ध थीं)। उबंटू पर, यह होगा dpkg-query -S /usr/share/modules- जो आपको यह समझने में मदद करेगा कि पैकेज क्या प्रदान करता है।
क्वाइल

6

उन लोगों के लिए जो "स्किम" (आपको सेठ की ओर देखते हुए): यह केर्ल मॉडल्स के बारे में सवाल नहीं है। यह ENIRONMENT-MODULES नामक उपकरण का उपयोग करके शेल पर्यावरण चर में हेरफेर करने के बारे में एक प्रश्न है। यदि आप कर्नेल मॉड्यूल से सभी परिचित हैं, तो आपको एहसास होगा कि "मॉड्यूल" नाम का कोई मानक कर्नेल टूल (स्क्रिप्ट या अन्यथा) नहीं है। सभी मॉड्यूल हेरफेर उपकरण संक्षिप्त रूप में मॉड (lsmod, insmod, modprobe, आदि) के रूप में मॉड्यूल। और gcc नाम का कोई मॉड्यूल नहीं है।

पर्यावरण-मॉड्यूल ( http://modules.sourceforge.net/ ) शेल में निष्पादन वातावरण को स्विच करने के लिए अभी तक एक और पर्यावरण उपकरण है। यह उन लोगों की मदद करता है जिन्हें एक ही मशीन पर अजगर 2.4 और अजगर 2.7 की जरूरत होती है। या यह लोगों को Intel v। GNU कंपाइलर और लाइब्रेरी को प्रबंधित करने में मदद करता है।

दुर्भाग्य से, पर्यावरण-मॉड्यूल Ubuntu 12.04 LTS के लिए एक पैकेज नहीं है।

विकल्प में स्रोत से इंस्टॉल करना (ऊपर दिए गए लिंक का पालन करना), 14.04 एलटीएस में अपग्रेड करना या डिबेट फ़ाइलों को देखना शामिल है। तीन में से, मैं स्रोत से स्थापित करूँगा। डिबेट फ़ाइल libtcl8.6 पर निर्भर करती है, जो एक ही विधेय में, 12.04LTS पर अनुपलब्ध है।


4

आप शायद एक सॉफ्टवेयर पैकेज का उपयोग करने की कोशिश कर रहे हैं जो आपके मशीन पर स्थापित नहीं है। बेशक, मैं वास्तव में निश्चित नहीं हो सकता, लेकिन मेरा अनुमान है कि आप पर्यावरण-मॉड्यूल का उपयोग करने की कोशिश कर रहे हैं । यदि यह सही है, तो आप मानक Ubuntu रिपॉजिटरी से पर्यावरण-मॉड्यूल स्थापित कर सकते हैं।

लेकिन ध्यान रखें कि पर्यावरण-मॉड्यूल एक पुराना कार्यक्रम है। होमपेज 2011 के अनुसार सहायक उपकरण के अंतिम अपडेट को नोट करता है, कॉपीराइट नोटिस 1999 से आगे नहीं बढ़ता है। इसलिए इस बात की कोई गारंटी नहीं है कि यह सॉफ्टवेयर पैकेज वर्तमान उबंटू संस्करणों के साथ त्रुटिपूर्ण काम करता है। यह हो सकता है, लेकिन आप सुनिश्चित नहीं हो सकते।


2
यह स्थापित करने के लिए एक बड़ा दर्द है, लेकिन यह बहुत अच्छी तरह से काम करता है और बहु-उपयोगकर्ता समूहों पर एक वास्तविक मानक है।
एम्मेट

0

यह कामmodule load नहीं करने का मामला नहीं है , module loadयह उबंटू में एक मानक कमांड नहीं है।

यदि आप किसी मौजूदा मॉड्यूल को लोड करने का प्रयास कर रहे हैं, sudo modprobe <modulename>तो वह कमांड है जिसे आप खोज रहे हैं। और आप किसी मॉड्यूल को लोड rmmodया modprobe -rअनलोड करने के लिए उपयोग कर सकते हैं ।


ओली मुझे ये निर्देश एक वैश्विक जलवायु मॉडल "ECHAM6" उपयोगकर्ता गाइड से मिल रहे हैं। उपर्युक्त पंक्तियाँ 'मॉड्यूल लोड' टर्मिनल से संकलक को लोड करने के लिए मैनुअल में उल्लिखित हैं ...
uzair मन्नान

4
वह पर्यावरण मॉड्यूल प्रोग्राम (आमतौर पर क्लस्टर पर स्थापित) का उपयोग करने की कोशिश कर रहा है जो विभिन्न कंपाइलरों, एमपीआई कार्यान्वयनों आदि के लिए पर्यावरण चर का प्रबंधन करता है, कर्नेल मॉड्यूल को लोड नहीं करता है
एम्मेट

यह वास्तव में मौजूद है, हम इसे अपनी कंपनी में हर रोज इस्तेमाल करते हैं: P
ब्रूनो परेरा

moduleएक उपकरण है जो एक से दूसरे में टूल और लिबास संस्करण को बदलने के लिए उपयोग किया जाता है, बहुत कुछ virtualenv की तरह है, लेकिन इसके बजाय यह अन्य सेटअपों को प्रतिबिंबित करने के लिए आपके पथ और चर को बदलता है, उदाहरण के लिए: मॉड्यूल लोड gcc-4.8 ,cc-4.8 लोड करेगा, मॉड्यूल लोड gcc-4.7 में लोड होगा 4.7, आदि
Bruno Pereira

0

बस इसे अपनी स्क्रिप्ट की पहली पंक्ति में जोड़ें। तब मॉड्यूल कमांड द्वारा पढ़ा जाएगा tsch

#!/bin/tcsh
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.