Naturally there is a security benefit to installing everything possible with just user rights.
My own bin path
Create a bin directory in your home directory.
Add this to ~/.bash_profile:
So my local binary is favoured over the system ones.
When building with configure, use this option to build and install in your own $HOME.
When you do make install, everything goes in ~/bin and ~/lib
Personal python modules
When installing a python module use this:
python setup.py install --home $HOME
Watch where it installs the files and in ~/.bash_profile add a line like this:
rsync to a machine with my own rsync binary
When deploying software I like to use efficient rsync to copy over what's changed. If the remote machine doesn't have rsync installed, you can install your own copy in your own ~/bin directory and use rsync over ssh while telling it where your binary is at the other end. Here's the trick:
rsync -avz --rsync-path=/home/$USER/bin/rsync $SOURCE_PATH $USER@$DEST_HOST:$DESTPATH
So the --rsync-path is set to the path to an rsync binary at the other end.
Any other handy tips?