Copie as bibliotecas para o novo local

0

Minha empresa usa LMod para permitir que vários usuários tenham diferentes versões de vários itens, tudo na mesma máquina. Isso basicamente envolve compilar tudo o que você precisa da origem em um diretório local, o que às vezes envolve a edição de código e / ou Makefiles. O LMod, em seguida, fornece um wrapper útil para anexar esse diretório à variável PATH do sistema.

Enfim, é um grande problema, mas consegui instalar um monte de bibliotecas úteis de tal forma que eu posso, por exemplo, usar pip para instalar pacotes python sem dor de cabeça. No entanto, como esse é um sistema multiusuário, eu gostaria de compartilhar todo o meu trabalho duro com outras pessoas sem permitir que eles escrevessem para os módulos meus e estragassem tudo. Como tal, estou executando o seguinte:

1) copie a pasta local com todo o bin, lib, inclua o conteúdo para um novo local $cp -r my_modules your_modules

2) coisas instaladas hardcodes caminhos por todo o local ... então precisamos substituir esse caminho em todas as pastas ....

$cd your_modules
$find . -type f -print0 | xargs -0 sed -i "s|my_modules|your_modules|g"

3) Use o LMod para colocar your_modules no PATH , PYTHONPATH , LD_LIBRARY_PATH etc etc em vez de my_modules . O bit LMod não é importante, leia isso como "corrija o PATH para apontar para o novo local"

os caminhos reais para my_modules e your_modules são estranhos o suficiente para que eles 99.9999% certamente não apareçam naturalmente em nenhum desses arquivos.

No entanto, quando eu faço isso, rodar praticamente qualquer coisa apenas libera Segmentation Fault , uma observação para a qual alguns de vocês, tenho certeza, estão dizendo "duh".

De qualquer forma, existe alguma maneira de copiar todas essas coisas, ou temos que recompilar / instalar cada coisa em um novo diretório?

    
por Scott 07.08.2018 / 22:19

0 respostas