Estoy tratando de compilar el "Modelo climático global" con los siguientes comandos.
module unload pgi gcc
module load gcc/4.6.3 pgi/11.8
Cuando los ejecuto, el terminal responde con command not found
.
¿Qué estoy haciendo mal? ¿Cuál es la forma correcta de hacer esto?
environment-modules
no está disponible en 12.04, pero a partir de 12.10 en adelante: < packages.ubuntu.com/search?keywords=environment-modules >Respuestas:
Solo para resumir los comentarios y respuestas anteriores y agregar un poco de experiencia de instalación de primera mano :
Está buscando el
module
comando proporcionado por el paquete de Módulos de entorno . Es una herramienta para modificar el entorno de shell (PATH pero también alias, etc.) y común a muchos clústeres multiusuario como los clústeres de computación de alto rendimiento.Las instrucciones que recibió probablemente provenían de algún clúster de HPC, ya que desea ejecutar un modelo climático global. Lea más sobre los módulos de entorno en HPC aquí.
Ahora, para algo relacionado con Ubuntu : en realidad no es tan difícil configurar módulos de entorno en Ubuntu. Lo hice en menos de 10 minutos para Ubuntu 14.10 y el shell Bash.
Como se menciona en otras publicaciones, puede instalar módulos de entorno desde los repositorios (paquete
environment-modules
).Entonces corres
add.modules
. Pondrá algunas líneas en su archivo de inicialización de shell, en este caso~/.bashrc
:Debe descomentar la última línea y comentar o eliminar la penúltima. Esta línea define el
module
comando que estaba buscando. Efectivamente se ejecutamodulecmd bash
más los argumentos que le das.Tengo la sensación de que esta función en realidad no es muy segura porque evalúa todo lo que le proporcionas en sus argumentos. Algunos usuarios tal vez puedan comentar sobre cómo mejorar esto.
Ahora solo necesita crear un directorio que contenga el llamado
modulefiles
y agregarlo$MODULEPATH
, por ejemplo, conmodule use /path/to/your/modulefiles
. Hay ejemplos de archivos de módulos en las interwebs.Considero que esta es una herramienta muy útil, no solo para clústeres de usuarios múltiples. Lo uso para cambiar entre diferentes distribuciones de Python.
fuente
/usr/share/modules/bin/add.modules
parece ser un inconveniente. Agregué ". /Etc/profile.d/modules.sh" al comienzo del archivo /etc/bash.bashrc. Esa podría ser una solución para los usuarios que tienen bash como su shell de inicio de sesión. Tenga en cuenta que esto solo era necesario para iniciar sesión en la GUI. SSH-login ya estaba funcionando antes del cambio. ¿Qué crees que es una buena solución o recomiendas algo más?/etc/profile.d/modules.sh
necesario que obtenga la función de los módulos (solíarpm -ql environment-modules
entender qué archivos estaban disponibles). En Ubuntu, eso seríadpkg-query -S /usr/share/modules
, eso solo lo ayudará a comprender lo que proporciona el paquete.Para aquellos que "leen" (mirándote, Seth): NO ES UNA PREGUNTA SOBRE LOS MÓDULOS DE KERNEL. Se trata de manipular variables de entorno de shell utilizando una herramienta llamada ENIRONMENT-MODULES. Si está familiarizado con los módulos del núcleo, se dará cuenta de que no existe una herramienta estándar del núcleo (script o de otro tipo) llamada "módulo". Todas las herramientas de manipulación de módulos abrevian el módulo como mod (lsmod, insmod, modprobe, etc.). Y no hay ningún módulo llamado gcc.
Environment-modules ( http://modules.sourceforge.net/ ) es otra herramienta de entorno para cambiar entornos de ejecución en el shell. Ayuda a las personas que necesitan Python 2.4 y Python 2.7 en la misma máquina. O ayuda a las personas a administrar compiladores y bibliotecas Intel v. GNU.
Desafortunadamente, environment-modules no es un paquete para Ubuntu 12.04 LTS.
Las opciones incluyen la instalación desde la fuente (siga el enlace anterior), la actualización a 14.04 LTS o la búsqueda de archivos deb. De los tres, instalaría desde la fuente. El archivo deb depende de libtcl8.6 que está en la misma situación, no disponible en 12.04LTS.
fuente
Probablemente esté intentando utilizar un paquete de software que no esté instalado en su máquina. Por supuesto, no puedo estar seguro, pero supongo que estás tratando de usar módulos de entorno . Si eso es correcto, puede instalar módulos de entorno desde los repositorios estándar de Ubuntu.
Pero tenga en cuenta que los módulos de entorno es un programa bastante antiguo. La página de inicio señala la última actualización de una herramienta auxiliar a partir de 2011, el aviso de copyright no va más allá de 1999. Por lo tanto, no hay garantía de que este paquete de software funcione sin problemas con las versiones actuales de Ubuntu. Podría, pero no puedes estar seguro.
fuente
No es un caso de
module load
no funcionar ,module load
no es un comando estándar en Ubuntu.Si está intentando cargar un módulo existente,
sudo modprobe <modulename>
es el comando que está buscando. Y puede usarrmmod
omodprobe -r
descargar un módulo.fuente
module
es una herramienta utilizada para cambiar la herramienta y la versión de libs de una a otra, al igual que virtualenv es a python, pero en cambio cambia sus rutas y variables para reflejar otras configuraciones, por ejemplo: módulo de carga gcc-4.8 cargará gcc-4.8, módulo cargar gcc-4.7 cargará 4.7, etc.simplemente agregue esto a la primera línea de su script. Entonces el comando del módulo será leído por
tsch
.fuente