Моя компания использует 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) Используйте LMod для помещения your_modules в PATH , PYTHONPATH , LD_LIBRARY_PATH т.д. Вместо my_modules . Бит LMod не важен, читайте это как «исправьте PATH чтобы указать новое местоположение»

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

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

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

0