Скопируйте библиотеки на новое место

315
Scott

Моя компания использует LMod, чтобы позволить нескольким пользователям иметь разные версии разных программ на одном компьютере. В основном это включает в себя компиляцию всего, что вам нужно из исходного кода, в локальный каталог, что иногда включает редактирование кода и / или файлов Makefile. Затем LMod предоставляет удобную оболочку для добавления этого каталога в системную PATHпеременную.

В любом случае, все это очень тяжело, но мне удалось установить кучу полезных библиотек таким образом, чтобы я мог, например, использовать их pipдля установки пакетов Python без головной боли. Однако, поскольку это многопользовательская система, я хотел бы поделиться всей своей тяжелой работой с другими, не позволяя им писать в мои модули и все испортить. Поэтому я выполняю следующую вещь:

1) Скопируйте локальную папку со всеми bin, lib, включите в нее содержимое в новое место $cp -r my_modules your_modules

2) Установленные пути хардкодов материала по всему проклятому месту .... таким образом, мы должны заменить этот путь во всех папках ....

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

3) Используйте ЛИзм положить your_modulesна PATH, PYTHONPATH, и LD_LIBRARY_PATHт.д. и т.п. вместо my_modules. Бит LMod не важен, прочитайте это как «исправьте, PATHчтобы указать на новое местоположение»

фактические пути для my_modulesи your_modulesявляются достаточно странными, что они 99,9999%, конечно, не появляются естественно ни в одном из этих файлов.

Тем не менее, когда я делаю это, запуск всего, что угодно, просто выкачивает Segmentation Fault, наблюдение, на которое некоторые из вас, я уверен, говорят «дух».

В любом случае, есть ли способ просто скопировать все эти вещи, или мы должны перекомпилировать / установить каждую вещь в новый каталог?

0

0 ответов на вопрос

Похожие вопросы