Why is it nothing works in Linux like it is supposed to?
It actually does work like it's supposed to. Remember, this is Linux, not Windows, that we're talking about and following in the tradition of Unix-type systems, Linux has its own way of going about things, one of which is installing software
That said, the basics of installing from a tar.gz or tar.bz2 or tgz file are pretty simple once you understand what's going on, and maybe that's what's in order here:
1) uncompressing the file (if needed)
2) untarring the file
3) reading the README or INSTALL file (which generally just tells you to do the next 3 steps)
4) run the configuration script (if needed);
5) run make
6) run make install
A tar file is really just an archive of files all put together so that they're nice and easy to handle. A tar.gz is a tar file that's been zipped with gzip (as is a .tgz...just shorter extension), while a tar.bz2 file is a tar file that's been zipped using bzip2. You can easily untar and unzip a file in one fell swoop by running:
# tar -xzvf filename.tar.gz (for gzipped tar files)
- or -
# tar -xjvf filename.tar.bz2 (for bzipped tar files)
- or -
# tar -xvf filename.tar (for plain old tar files)
Most programs then call for you to run "./configure"
The "./" tells the shell to look in the current directory (denoted by a period, with a slash at the end signifying it's in that folder) for the executable called "configure"
This launches a shell script that can do all sorts of nifty things, but generally it checks your system for compiler flags, necessary libraries, dependencies, etc. It then creates a Makefile that tells the compiler how to make the program from source into a binary. Often times it'll include instructions for make install on how/where to install the program and create the necessary configuration files. Sometimes it even has an uninstallation script which will handle uninstallation for you.
If something fails in the ./configure stage, the script usually tells you. Read its output and see if perhaps you are missing a library/dependency or have an outdated version. Likewise if something fails in the make or make install stage, then make will tell you what went wrong and you can read the output and fix it accordingly.
I know it can all look quite daunting and confusing at first, but once you've compiled some programs from source on your own and poke around with it a bit, it's really not so hard! So cheer up and don't get discouraged yet! We're here to help you through, just be willing to have the patience and to learn a new way of doing things - the Linux way
As for the command issues, on a lot of distributions you have to be root to run updatedb, and sometimes to run locate. Try running those as root and see what happens.