Ich versuche das "Globale Klimamodell" mit den folgenden Befehlen zu kompilieren.
module unload pgi gcc
module load gcc/4.6.3 pgi/11.8
Wenn ich sie ausführe, antwortet das Terminal mit command not found
.
Was mache ich falsch? Was ist der richtige Weg, um dies zu tun?
environment-modules
sie in 12.04 nicht verfügbar ist, aber ab 12.10: < packages.ubuntu.com/search?keywords=environment-modules >Antworten:
Nur um fasst die bisherigen Kommentare und Antworten und ein bisschen hinzufügen aus erster Hand Installation Erfahrung:
Sie suchen nach dem
module
Befehl, der vom Paket " Umgebungsmodule" bereitgestellt wird. Es ist ein Tool zum Ändern der Shell-Umgebung (PATH, aber auch Aliase usw.) und vielen Mehrbenutzer-Clustern wie High-Performance-Computing-Clustern gemeinsam.Die Anweisungen, die Sie erhalten haben, stammen wahrscheinlich von einem HPC-Cluster, da Sie ein globales Klimamodell ausführen möchten. Lesen Sie mehr über Umwelt Module auf HPC hier.
Nun zu etwas, das tatsächlich mit Ubuntu zu tun hat: Es ist eigentlich nicht so mühsam, Umgebungsmodule unter Ubuntu einzurichten. Ich habe es gerade in weniger als 10 Minuten für Ubuntu 14.10 und die Bash-Shell gemacht.
Wie in anderen Beiträgen erwähnt, können Sie Umgebungsmodule aus den Repos (Paket
environment-modules
) installieren .Dann rennst du
add.modules
. In diesem Fall werden einige Zeilen in Ihre Shell-Initialisierungsdatei eingefügt~/.bashrc
:Sie müssen die letzte Zeile auskommentieren und die vorletzte auskommentieren oder löschen. Diese Zeile definiert den gesuchten
module
Befehl. Es läuft effektivmodulecmd bash
plus die Argumente, die Sie ihm geben.Ich habe das Gefühl, dass diese Funktion eigentlich nicht sehr sicher ist, weil sie alles bewertet, was Sie in ihren Argumenten liefern. Einige Benutzer können möglicherweise kommentieren, wie dies verbessert werden kann.
Sie müssen nur noch ein Verzeichnis erstellen, das das sogenannte enthält,
modulefiles
und es$MODULEPATH
beispielsweise mit hinzufügenmodule use /path/to/your/modulefiles
. Es gibt Beispiele für Moduldateien in den Interwebs.Ich finde dies ein sehr praktisches Tool, nicht nur für Multi-User-Cluster. Ich benutze es zum Umschalten zwischen verschiedenen Python-Distributionen.
quelle
/usr/share/modules/bin/add.modules
scheint unpraktisch zu sein, jeden Benutzer zum Ausführen zu verpflichten. Ich habe ". /Tc/profile.d/modules.sh" am Anfang der Datei /etc/bash.bashrc hinzugefügt. Dies könnte eine Lösung für Benutzer sein, die Bash als Anmeldeshell haben. Beachten Sie, dass dies nur für die GUI-Anmeldung benötigt wurde. Die SSH-Anmeldung funktionierte bereits vor der Änderung. Was denkst du, ist das eine gute Lösung oder empfehlen Sie etwas anderes?/etc/profile.d/modules.sh
muss ich eine Quelle angeben, um die Modulfunktion bereitzustellen (ich habe früherrpm -ql environment-modules
verstanden, welche Dateien verfügbar waren). Unter Ubuntu wäre dasdpkg-query -S /usr/share/modules
- das hilft Ihnen nur zu verstehen, was das Paket bietet.Für diejenigen, die "überfliegen" (dich ansehen Seth): Dies ist keine Frage zu Kernelmodulen. Es geht um die Bearbeitung von Shell-Umgebungsvariablen mit einem Tool namens ENIRONMENT-MODULES. Wenn Sie mit Kernelmodulen überhaupt vertraut sind, werden Sie feststellen, dass es kein Standard-Kernel-Tool (Skript oder anderweitig) mit dem Namen "Modul" gibt. Alle Modulmanipulationswerkzeuge kürzen das Modul als mod ab (lsmod, insmod, modprobe usw.). Und es gibt kein Modul namens gcc.
Umgebungsmodule ( http://modules.sourceforge.net/ ) sind ein weiteres Umgebungstool zum Wechseln von Ausführungsumgebungen in der Shell. Es hilft Menschen, die Python 2.4 und Python 2.7 auf demselben Computer benötigen. Oder es hilft Benutzern bei der Verwaltung von Intel v. GNU-Compilern und -Bibliotheken.
Leider sind Umgebungsmodule kein Paket für Ubuntu 12.04 LTS.
Zu den Optionen gehören die Installation von der Quelle (folgen Sie dem obigen Link), das Upgrade auf 14.04 LTS oder das Anzeigen von Deb-Dateien. Von den dreien würde ich von der Quelle installieren. Die Deb-Datei hängt von libtcl8.6 ab, das sich in derselben Situation befindet und unter 12.04LTS nicht verfügbar ist.
quelle
Sie versuchen wahrscheinlich, ein Softwarepaket zu verwenden, das nicht auf Ihrem Computer installiert ist. Natürlich kann ich nicht wirklich sicher sein, aber ich würde vermuten, dass Sie versuchen, Umgebungsmodule zu verwenden . Wenn dies korrekt ist, können Sie Umgebungsmodule aus den Standard-Ubuntu-Repositorys installieren.
Beachten Sie jedoch, dass Umgebungsmodule ein ziemlich altes Programm sind. Auf der Homepage wird das letzte Update eines Hilfsprogramms ab 2011 vermerkt. Der Copyright-Hinweis geht nicht weiter als 1999. Es gibt also keine Garantie dafür, dass dieses Softwarepaket mit aktuellen Ubuntu-Versionen einwandfrei funktioniert. Es könnte sein, aber Sie können nicht sicher sein.
quelle
Es geht nicht darum,
module load
nicht zu funktionieren , esmodule load
ist kein Standardbefehl in Ubuntu.Wenn Sie versuchen, ein vorhandenes Modul zu laden,
sudo modprobe <modulename>
ist dies der Befehl, nach dem Sie suchen. Und Sie können ein Modul verwendenrmmod
odermodprobe -r
entladen.quelle
module
ist ein Tool, das verwendet wird, um die Tool- und libs-Version von einer zur anderen zu ändern, ähnlich wie virtualenv für Python. Stattdessen werden Ihre Pfade und Variablen geändert, um andere Setups widerzuspiegeln, z. B.: Modul laden gcc-4.8 lädt gcc-4.8, Modul Laden gcc-4.7 wird 4.7 laden, etc.Fügen Sie dies einfach in die erste Zeile Ihres Skripts ein. Dann wird der Modulbefehl von gelesen
tsch
.quelle