Estou tentando compilar o "Modelo Global do Clima" com os seguintes comandos.
module unload pgi gcc
module load gcc/4.6.3 pgi/11.8
Quando eu os executo, o terminal responde com command not found
.
O que estou fazendo de errado? Qual é a maneira certa de fazer isso?
environment-modules
não está disponível no 12.04, mas a partir das 12.10 em diante: < packages.ubuntu.com/search?keywords=environment-modules >Respostas:
Apenas para resumir os comentários e respostas anteriores e adicionar um pouco da experiência de instalação em primeira mão :
Você está procurando o
module
comando fornecido pelo pacote Environment Modules . É uma ferramenta para modificar o ambiente de shell (PATH, mas também aliases etc.) e comum a muitos clusters multiusuários, como clusters de computação de alto desempenho.As instruções que você recebeu foram provavelmente de algum cluster HPC, pois você deseja executar um modelo climático global. Leia mais sobre módulos de ambiente no HPC aqui.
Agora, algo realmente relacionado ao Ubuntu : na verdade, não é tão difícil configurar Módulos de Ambiente no Ubuntu. Eu fiz isso em menos de 10 minutos para o Ubuntu 14.10 e o shell Bash.
Conforme mencionado em outras postagens, você pode instalar os Módulos de Ambiente a partir dos repositórios (pacote
environment-modules
).Então você corre
add.modules
. Ele colocará algumas linhas no seu arquivo de inicialização de shell, neste caso~/.bashrc
:Você precisa remover o comentário da última linha e comentar ou excluir a segunda última. Esta linha define o
module
comando que você estava procurando. Ele efetivamente rodamodulecmd bash
mais os argumentos que você fornece.Tenho a sensação de que essa função não é realmente muito segura, porque avalia tudo o que você fornece em seus argumentos. Alguns usuários podem talvez comentar sobre como melhorar isso.
Agora você só precisa criar um diretório contendo o chamado
modulefiles
e adicioná-lo$MODULEPATH
, por exemplo, commodule use /path/to/your/modulefiles
. Existem exemplos de arquivos de módulo nas interwebs.Acho isso uma ferramenta muito útil, não apenas para clusters de multiusuários. Eu o uso para alternar entre diferentes distribuições Python.
fonte
/usr/share/modules/bin/add.modules
parece ser inconveniente. Adicionei ". /Etc/profile.d/modules.sh" ao início do arquivo /etc/bash.bashrc Essa pode ser uma solução para usuários que têm o bash como shell de logon. Observe que isso era necessário apenas para o login da GUI. O login SSH já estava funcionando antes da alteração. O que você acha, é uma boa solução ou recomenda outra coisa?/etc/profile.d/modules.sh
que eu forneça a fonte para fornecer a função de módulos (eu costumavarpm -ql environment-modules
entender quais arquivos estavam disponíveis). No Ubuntu, isso seriadpkg-query -S /usr/share/modules
- isso apenas o ajudará a entender o que o pacote fornece.Para quem "roça" (olhando para você, Seth): Esta NÃO É UMA PERGUNTA SOBRE MÓDULOS KERNEL. É uma pergunta sobre como manipular variáveis de ambiente do shell usando uma ferramenta chamada ENIRONMENT-MODULES. Se você estiver familiarizado com os módulos do kernel, perceberá que não existe uma ferramenta padrão do kernel (script ou outra) chamada "module". Todas as ferramentas de manipulação de módulos abreviam o módulo como mod (lsmod, insmod, modprobe, etc). E não há módulo chamado gcc.
Environment-modules ( http://modules.sourceforge.net/ ) é mais uma ferramenta de ambiente para alternar ambientes de execução no shell. Ajuda as pessoas que precisam do Python 2.4 e Python 2.7 na mesma máquina. Ou ajuda as pessoas a gerenciar os compiladores e bibliotecas Intel v. GNU.
Infelizmente, environment-modules não é um pacote para o Ubuntu 12.04 LTS.
As opções incluem a instalação a partir do código-fonte (siga o link acima), a atualização para 14.04 LTS ou a visualização de arquivos deb. Dos três, eu instalaria da fonte. O arquivo deb depende da libtcl8.6, que está na mesma situação, indisponível no 12.04LTS.
fonte
Você provavelmente está tentando usar um pacote de software que não está instalado na sua máquina. Claro que não tenho muita certeza, mas meu palpite é que você está tentando usar módulos de ambiente . Se isso estiver correto, você poderá instalar módulos de ambiente a partir dos repositórios padrão do Ubuntu.
Mas lembre-se de que environment-modules é um programa bastante antigo. A página inicial observa a última atualização de uma ferramenta auxiliar a partir de 2011, o aviso de direitos autorais não vai além de 1999. Portanto, não há garantia de que este pacote de software funcione perfeitamente nas versões atuais do Ubuntu. Pode, mas você não pode ter certeza.
fonte
Não é um caso de
module load
não funcionar ,module load
não é um comando padrão no Ubuntu.Se você está tentando carregar um módulo existente,
sudo modprobe <modulename>
é o comando que você está procurando. E você pode usarrmmod
oumodprobe -r
descarregar um módulo.fonte
module
é uma ferramenta usada para alterar a versão da ferramenta e das bibliotecas de uma para outra, assim como virtualenv é para python, mas muda seus caminhos e variáveis para refletir outras configurações, por exemplo: module load gcc-4.8 carregará gcc-4.8, module carga gcc-4.7 carregará 4.7, etcbasta adicionar isso à primeira linha do seu script. Em seguida, o comando do módulo será lido por
tsch
.fonte