Утилита module

Утилита управления переменными окружения.

Содержание

1 Общая информация

  • Для удобства управления переменными окружения используется утилита module.
  • Каждому приложению соответствует конфигурационный файл (модуль), описывающий, как необходимо изменить переменные окружения для работы данного приложения.
  • Состояния модуля:
    • загружен: необходимые значения добавляются к текущим переменным окружения;
    • выгружен: настройки, соответствующие данному приложению, удаляются из переменных окружения.
  • Возможно независимо управлять несколькими модулями.
  • Существует несколько программ, реализующих утилиту module.

1.1 Environment Modules

1.2 Lmod

2 Использование

2.1 Основные команды

  • module avail : вывести список доступных модулей;
  • module list : вывести список загруженных модулей;
  • module load module1 : загрузить модуль module1 версии version;
  • module unload module1 : выгрузить модуль module1 версии version;
  • module swap module1 module2 : заменить загруженный модуль module1 на module2;
  • module purge : выгрузить все загруженные модули;
  • module whatis module1 : показать информацию о модуле module1;
  • module save [env_name] : сохранить текущий набор загруженных модулей под именем env_name. Если не указывать имя, то набор будет перезаписан набор по умолчанию;
  • module restore [env_name] : загрузить набор сохранённых модулей;
  • module describe [env_name] : показать состав набора сохранённых модулей

2.2 Примеры использования

  • Просмотр загруженных модулей:

    1$ module list
    2Currently Loaded Modules:
    31) autotools    2) prun/1.2    3) gnu7/7.3.0    4) openmpi3/3.1.3    5) ohpc
    
  • Просмотр доступных модулей:

    1$ module avail
    2​- /opt/ohpc/pub/modulefiles -
    3CUDA/10.0                   cnpy_lib/1.0           hpcx/hpcx-stack
    4Python/Anaconda_v10.2019    gnu7/7.3.0 (L)         hpcx/hpcx (D)
    5EasyBuild/3.7.1             fltk/v1.3.5            hwloc/1.11.10
    6Где:
    7D: модуль, загружаемый по умолчанию;
    8L: модуль, загруженный в настоящий момент.
    
  • Пример: выгрузка всех модулей и загрузка модулей CUDA/10.2 и Python/Anaconda_v10.2019:

    1$ module purge
    2$ module load CUDA/10.2 Python/Anaconda_v10.2019
    3$ module list
    4Currently Loaded Modules:
    51) CUDA/10.2    2) Python/Anaconda_v10.2019
    
  • Сохранение набора модулей по умолчанию:

    1$ module save
    2Saved current collection of modules to: "default"
    

Дмитрий Сергеевич Кулябов
Дмитрий Сергеевич Кулябов
Профессор кафедры теории вероятностей и кибербезопасности

Мои научные интересы включают физику, администрирование Unix и сетей.

Похожие