Best way to set up separate linux environment in ~

compilingconfigurationenvironment-variables

I do most of my work (involves a lot of C/Python) on a development server that is shared with several other people. As a result we all seem to do a bit of the system administration chores (there is no sysadmin). This tends to work alright, but installing and maintaining packages and libraries tends to be messy.

Lately I've found myself installing and building more and more packages etc in my home directory. What is the best way to formalize/streamline this process? Right now I am merely ./configuring with --prefix, setting my path so that my ~/usr/bin comes before usr/bin, etc, and trying to set LD_LIBRARY_PATH and C_INCLUDE_PATH and `PYTHONPATH properly, but this is becoming error-prone and painful. Is there a more "automated" method?

Best Answer

For simple package management, you can use stow. Install each package in a separate directory (e.g. ~/packages/stow) and stow automatically maintains a combined hierarchy of symbolic links (e.g. ~/packages/bin/pydoc -> ~/packages/stow/python/bin/pydoc).

Also consider xstow, a more powerful program around the same basic principle.

Related Question