Linux programs are (for the most part) installed according to the Filesystem Hierarchy Standard (http://www.pathname.com/fhs/
- /usr/ is used mostly for programs installed by your distribution
- /usr/local/ is normally the default for other programs
- /etc/ is used for configuration files
- /opt/ is used for legacy software
- /home/ contains the user directories, used for documents etc.
Choosing a different prefix should be possible for most programs. Instead of using you distribution's installer, copy the RPMs to your system and run:
rpm --relocate /usr=/usr/local/ --install file.rpm
This will put the files that were going to go into /usr into /usr/local instead. (You can see which directories can be relocated by runing
rpm -qif somefile.rpm
and looking for the "relocations" bit in the output.
I don't know how you do that with .deb packages under Debian type systems.
You can also set the prefix when installing from source tarballs, using:
I don't recommend installing Linux programs on a FAT32 partition; it will work (so long as you don't get problems with upper- and lower-case filenames), but it isn't a very efficient way of storing files. ReiserFS or ext3 is a better bet — so long as you don't need to see them from Windows.