Entorno de Cálculo

El componente con el que interactúa el usuario es el interprete de comandos, más comúnmente denominado shell. Interpreta los comandos interactivos y las instrucciones de los programas (shell scripts). Existen múltiples shells (C Shell, Bash, K-Shell, … ). Por defecto el shell de los usuarios es BASH. Para comprobar que shell tiene puede usar el siguiente comando:

echo $SHELL
/bin/bash

Si necesita cambiar el tipo de shell, verifique primero los que tiene disponible en su sistema:

cat /etc/shells

Y luego cambie al que desea con el siguiente comando, para hacerlo permanente:

chsh -s /bin/zsh



Las variables de entorno son un conjunto de valores que definen como se comportan los procesos, del sistema y de usuario, a la hora de ejecutarse. La mayoría de los comandos y herramientas del sistema operativo, así como los programas que el usuario usa en su trabajo consultan el valor de ciertas variables de entorno para acceder a información que necesitan saber para ejecutarse correctamente. Para consultar las variables que un usuario tiene definidas en su entorno, puede usar el comando env.

El comando muestra la lista de variables definidas y su valor en la forma VARIABLE=valor. Por ejemplo, el valor de las variables $MANPATH, $PATH y $HOME:

MANPATH=/usr/share/man/es:/usr/share/man:/usr/local/share/man
PATH=/opt/jre1.7.0_21/bin:/usr/local/bin:/bin:/usr/bin
HOME=/home/usuario

Las variables de entorno que admiten una lista de distintos valores, en el ejemplo anterior MANPATH y PATH, estos valores deben estar separados mediante el caracter ':'. Los usuarios pueden definir sus propias variables de entorno mediante el comando export:

export TMPDIR=/home/usuario/tmp

Para modificar el valor de una variable de entorno ya definida, es posible usar el valor actual de la variable para definir el nuevo valor. Por ejemplo, para añadir una nueva ruta a la variable PATH el comando sería:

export PATH=/home/usuario/tmp:$PATH

en donde se añade la nueva ruta '/home/usuario/tmp' a las rutas ya almacenadas en la variable '$PATH`.



Muy relacionado con las variables de entorno están los scripts de inicio. Estos scripts permiten al usuario personalizar su entorno de trabajo para adaptarlo de forma automática al uso de los programas o utilidades más comúnmente utilizadas. No es objeto de esta introducción entrar en detalle en los distintos tipos de inicio de un shell o interprete de comandos en un sistema Linux, por lo que a continuación se darán unas sencillas instrucciones al respecto.

Un shell de Linux puede ser invocado de tres formas distintas:

  • En los shells de login y shells interactivos el usuario interacciona con el sistema operativo mediante terminales.
  • Los shells no interactivos son los que ejecutan los scripts y no interaccionan con el usuario.

Para los propósitos de este manual, lo único importante es que cada uno de estos tipos de ejecución de shell utiliza diferentes scripts de inicio.

Como se ha detallado anteriormente, por defecto a todos los usuarios se les asigna un shell, Bash. En el shell de inicio de sesión Bash, lanzado a través del comando ssh, ejecuta uno de los siguientes archivos ubicados en el directorio $HOME del usuario (el primero que exista):

  • .bash_profile
  • .bash_login
  • .profile

En shells que no realizan un login, por ejemplo shells lanzados con el comando bash, se ejecuta el fichero bashrc, también ubicado en el directorio $HOME.



Para facilitar el uso de los diversos programas, herramientas y librerías que están instaladas en el sistema, SCAYLE usa la utilidad Environment Modules. Esta herramienta permite definir de forma sencilla todos los parámetros necesarios para que un programa funcione de forma correcta. Mediante la ejecución de un único comando se pueden definir todas las variables de entorno, alias, y rutas necesarias para la ejecución del programa deseado.

Para comprobar la lista de software disponible en la utilidad modules, usaremos el comando module avail:

# module avail
------------------------------------------- /soft/calendula2/modulefiles -------------------------------------------
broadwell/singularity_2.5.2   haswell/mdynamix_5.2.8_intel18       haswell/singularity_3.1.1
broadwell/singularity_3.0.0   haswell/netcdf_4.6.1_intel18         haswell/smilei_4.1
broadwell/singularity_3.1.1   haswell/openmpi_2.1.2                haswell/su2_6.2.0_intel18
haswell/bowtie2_2.3.4.3       haswell/openmpi_3.1.2_gcc8.2.0       haswell/tophat2_2.1.1
haswell/bowtie2_2.3.5.1       haswell/openmpi_3.1.2_gcc8.2.0_pmix  sandybridge/gcc_8.2.0
haswell/bwa_0.7.17            haswell/orca_4.0.1                   sandybridge/hdf5_1.8.19_intel18
haswell/FFmpeg_4.1.3_intel18  haswell/orca_4.1.2                   sandybridge/nektar++_4.4.0_intel18
haswell/gcc_8.2.0             haswell/qespresso_6.3_intel18        sandybridge/nektar++_4.4.1_intel18
haswell/GDAL_2.4.1_intel18    haswell/samtools_1.7                 sandybridge/netcdf_4.6.1_intel18
…

Para definir las variables y rutas necesarias para ejecutar uno de los programas anteriores, usaremos el comando module load:

module load archivo_modules

por ejemplo:

module load haswell/smilei_4.1

Para comprobar que modificaciones realiza este comando module show en el entorno:

 module show haswell/smilei_4.1
-------------------------------------------------------------------
/soft/calendula2/modulefiles/haswell/smilei_4.1:

module-whatis   Variables de entorno para Smilei v4.1
module load     haswell/hdf5_1.8.19_intel18
prepend-path    PATH /soft/calendula2/haswell/Smilei/4.1
prepend-path    PATH /soft/calendula2/haswell/Smilei/miniconda3/bin
-------------------------------------------------------------------

<p>
<br />
</p>

Última actualización: 06/02/2025 12:46