When I install a software using apt-get it installs to default locations i.e to /usr/bin, /usr/lib, /usr/share and etc. For example when I install "Meld Diff Viewer" using
sudo apt-get install meld
and use whereis command to find its location, I get the following output
adnan@adnan-laptop:~$ whereis meld meld: /usr/bin/meld /usr/lib/meld /usr/share/meld /usr/share/man/man1/meld.1.gz
Is there any way to change the install location. Lets say if I want to install it in /usr/local/ can I do it using apt-get or aptitude? I know I can compile it from source and specify prefix option to configure script or make install but it would be better (and really easier) if I could do it using apt-get as I would be able to use uninstall, upgrade and other stuff that apt-get offers
Most programs are looking for files they need (like config files, GUI ressources, ...) on a few hardcoded places and will refuse to works if those files aren't there. To change this places you usually need to recompile the programs (but sometimes you can use command line options or environment variables instead).
dpkg and apt offer a way to change the install location (as far as I remember it's
--root=with dpkg and
Dir::Rootin the apt config - but check the docs if you really need it). This is so you can mount another systems's root dir on your system and install packages on it (like if you have diskless systems mounting their root via NFS from a server).