“Modül yükleme” komutu çalışmıyor


12

Aşağıdaki komutlarla "Küresel İklim Modeli" ni derlemeye çalışıyorum.

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

Onları yürüttüğümde, terminal ile cevap veriyor command not found.

Neyi yanlış yapıyorum? Bunu yapmanın doğru yolu nedir?


"Küresel İklim Modeli" nin ne olduğunu açıklayabilir misiniz? Bu talimatları nereden alıyorsunuz?
Oli

1
Ben bu yanıtı bir yorum koymak olurdu ama itibar eksikliği nedeniyle olamaz :( Görünüşe göre environment-modules12.04 mevcut değil, ancak 12.10 yukarı: < paketleri.ubuntu.com/search?keywords=environment-modules >
tssch

Yanıtlar:


25

Sadece için özetlemek önceki yorum ve cevaplar ve biraz eklemek ilk elden montaj tecrübesi:

Ortam Modülleri paketi moduletarafından sağlanan komutu arıyorsunuz . Kabuk ortamını (PATH, ancak diğer adlar vb.) Değiştirmek için bir araçtır ve Yüksek Performanslı Bilgi İşlem kümeleri gibi birçok çok kullanıcılı kümede ortaktır.

Küresel bir iklim modeli çalıştırmak istediğinizden, muhtemelen talimatlar bazı HPC kümelerinden alınmıştır. Oku HPC Çevre Modülleri hakkında daha buraya.

Şimdi aslında Ubuntu ile ilgili bir şey için : Aslında Ubuntu altında Ortam Modülleri kurmak o kadar da acı verici değil. Ben sadece Ubuntu 14.10 ve Bash kabuk için 10 dakikadan az bir sürede yaptım.

Diğer gönderilerde belirtildiği gibi, ortam Modüllerini depolardan (paket environment-modules) yükleyebilirsiniz .

Sonra kaçıyorsun add.modules. Bu durumda, kabuk initalization dosyanıza birkaç satır koyacaktır ~/.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 $*`; }

Son satırı açmanız ve ikinci satırı yorumlamanız veya silmeniz gerekir. Bu satır, modulearadığınız komutu tanımlar . Etkin bir şekilde modulecmd bashartı verdiğiniz argümanları çalıştırır .

Bu işlevin aslında çok güvenli olmadığı hissine sahibim çünkü argümanlarında sağladığınız her şeyi değerlendiriyor. Bazı kullanıcılar bunun nasıl geliştirileceği hakkında yorum yapabilir.

Şimdi sözde dizini içeren bir dizin oluşturmanız ve dizini , örneğin ile modulefileseklemeniz yeterlidir . İnterweb'lerde modulefiller için örnekler var.$MODULEPATHmodule use /path/to/your/modulefiles

Bunu sadece çok kullanıcılı kümeler için değil, çok kullanışlı bir araç olarak görüyorum. Farklı Python dağılımları arasında geçiş yapmak için kullanıyorum.


1
Bence bu soruya kabul edilen cevap olmalı
credondo

örnek modül dosyaları bağlantısı öldü
muenalan


1
Her kullanıcının çalışmasını istemek /usr/share/modules/bin/add.moduleselverişsiz görünüyor. /Etc/bash.bashrc dosyasının başına ". /Etc/profile.d/modules.sh" ifadesini ekledim. Bu, giriş kabuğu olarak bash olan kullanıcılar için bir çözüm olabilir. Bunun yalnızca GUI girişi için gerekli olduğunu unutmayın. SSH-girişi değişiklikten önce zaten çalışıyordu. Sizce bu iyi bir çözüm mü yoksa başka bir şey mi öneriyorsunuz?
Erik Sjölund

Bunu görebiliyorum çevre modülleri paketi tarihsel kabuğundan içine 'modüller' fonksiyonunu elde etmek için yöntem değiştirdi. Eski bir Red Hat sisteminde, /etc/profile.d/modules.shmodüller işlevini sağlamak için kaynak kullanmam gerekir ( rpm -ql environment-moduleshangi dosyaların mevcut olduğunu anladım ). Ubuntu'da, bu dpkg-query -S /usr/share/modules- paketin ne sağladığını anlamanıza yardımcı olacaktır.
qneill

6

"Sızan" olanlar için (Seth'e bakarken): Bu KERNEL MODÜLLERİ HAKKINDA BİR SORU DEĞİLDİR. Bu, ENIRONMENT-MODULES adlı bir araç kullanarak kabuk ortamı değişkenlerini değiştirmekle ilgili bir soru. Çekirdek modüllerine aşina iseniz, "module" adlı standart bir çekirdek aracı (komut dosyası veya başka türlü) olmadığını fark edeceksiniz. Tüm modül işleme araçları modülü mod olarak kısaltır (lsmod, insmod, modprobe, vb.). Ve gcc adında bir modül yok.

Ortam modülleri ( http://modules.sourceforge.net/ ), kabuktaki yürütme ortamlarını değiştirmek için başka bir ortam aracıdır. Aynı makinede Python 2.4 ve Python 2.7'ye ihtiyaç duyan insanlara yardımcı olur. Veya insanların Intel v. GNU derleyicilerini ve kitaplıklarını yönetmesine yardımcı olur.

Ne yazık ki, çevre modülleri Ubuntu 12.04 LTS için bir paket değil.

Seçenekler, kaynaktan yükleme (yukarıdaki bağlantıyı izleyin), 14.04 LTS'ye yükseltme veya deb dosyalarına bakmayı içerir. Üçünden kaynağından yüklerdim. Deb dosyası 12.04LTS'de kullanılamayan aynı durumdaki libtcl8.6'ya bağlıdır.


4

Muhtemelen makinenizde yüklü olmayan bir yazılım paketi kullanmaya çalışıyorsunuzdur. Elbette gerçekten emin olamıyorum, ama tahminim ortam modüllerini kullanmaya çalışıyorsunuz . Bu doğruysa, standart Ubuntu depolarından ortam modüllerini kurabilirsiniz.

Ancak, çevre modüllerinin oldukça eski bir program olduğunu unutmayın. Ana sayfa, 2011'den itibaren bir yardımcı aracın son güncellemesini not ediyor, telif hakkı bildirimi 1999'dan daha ileri gitmiyor. Bu nedenle, bu yazılım paketinin mevcut Ubuntu sürümleriyle kusursuz bir şekilde çalışacağına dair bir garanti yoktur. Olabilir, ama emin olamazsınız.


2
Kurulumu büyük bir acıdır, ancak son derece iyi çalışır ve çok kullanıcılı kümelerde fiili bir standarttır.
Emmet

0

Bu bir vaka değil module loaddeğil çalışma , module loadUbuntu standart komut değil.

Mevcut bir modülü yüklemeye çalışıyorsanız, sudo modprobe <modulename>aradığınız komut budur. Ve bir modülü kaldırmak rmmodveya modprobe -rkaldırmak için kullanabilirsiniz .


Oli Bu talimatları küresel iklim modeli "ECHAM6" kullanım kılavuzundan alıyorum. Yukarıda belirtilen hatlar 'modül yükü' derleyiciyi terminalden yüklemek için kılavuzda belirtilmiştir ...
uzair mannan

4
O farklı derleyiciler, MPI dağıtımları, vs. Ortam değişkenlerini yöneten çevre modülleri programı (genellikle kümeler yüklü) kullanmaya çalışıyor değil çekirdek modüllerini yükleyin.
Emmet

aslında var, şirketimizde her gün kullanıyoruz: P
Bruno Pereira

modulearacı ve kütüphaneler sürümünü birinden diğerine değiştirmek için kullanılan bir araçtır, tıpkı virtualenv python gibidir, ancak bunun yerine yollarınızı ve değişkenlerinizi diğer kurulumları yansıtacak şekilde değiştirir, örneğin: module load gcc-4.8, gcc-4.8, module yükler gcc-4.7 yükü 4.7, vb. yükleyecek
Bruno Pereira

0

bunu komut dosyanızın ilk satırına eklemeniz yeterlidir. Sonra modül komutu tarafından okunacaktır tsch.

#!/bin/tcsh
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.