Моя компания использует 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
, наблюдение, на которое некоторые из вас, я уверен, говорят "дух".
В любом случае, есть ли способ просто скопировать все эти вещи, или мы должны перекомпилировать / установить каждую вещь в новый каталог?