nstallation from a source-code tarball
If what I downloaded from the net is a Linux source code in the form of a compressed tarball (*.tar.gz or *.tgz), the installation procedure is longer and more troublesome than with the binary-only rpm. I typically install the program as root.
First, I change my current working directory to /usr/local:
cd /usr/local
Second, I decompress the tarball that I downloaded from the Internet:
tar -xvzf /home/the_dir_where_the_tarball_is/my_tarball.tar.gz
This extracts (option "x") the contents of the *.tar.gz (or *.tgz) tarball, unzips it (option "z"), while talking to me more than usual (option "v" = verbose). Please note that the option "f" means "file", so the filename must immediately follow the letter "f". The contents of the tarball are extracted into a subdirectory which tar creates under my current working directory, which in the typical case is /usr/local/ . The tarball knows what the new subdirectory should be called.
If the tarball is not compressed (e.g., *.tar), I may use:
tar -xvf /home/the_dir_where_the_tarball_is/my_tarball.tar
Third, I have to figure how the new directory is called, then I cd into it:
dir
cd the_new_program_subdir
Since some of the directories have long names, I use the great autocompletion option to save on typing--I just type the first few letters and then press <TAB> .
Fourth, most programs are compiled by executing these three commands:
./configure
make
make install
The above commands can take some time to complete (1 min? 0.5 h?). If any of them fail, it might be an idea to read the README or INSTALL or whatever info is provided with the new program. Some programs may require customization of the environment (e.g. definition of their path) or installation of an additional library, or yet something else. It can sometimes be a pain. Very simple programs might not need the "./configure" or/and "make install" step, in which case "make" alone will do.
Fifth, if everything goes well, I find the new executable which I just compiled. The names of executables display in green when running this command:
ls --color
Now, I can run the executable, for example:
./the_executable
Some programs automatically install the executable to /usr/local/bin, so I may want to try:
/usr/local/bin/the_executable
Sixth, if I plan to run the program more often, I create a symbolic link to the executable from the directory /usr/local/bin:
cd /usr/local/bin
ln -s /usr/local/the_new_program_subdir/the_executable
This way, the executable (actually, a symbolic link to it) is on my PATH and it can be run by simply typing its name (no need to type the full path to the executable any more). Some programs will install the executable (or a link to it) in a "bin" directory in which case you skip the last step.
Installation from source code rpm package
There are also programs distributed as "source code rpm" packages. They require installation of the *.rpm package with the "rpm" utility as described in the first part of this chapter. But since the "rpm" installs the source code (typically in the C language source code), I then have to compile the source code by executing the same: "./configure ;Â make ; make install" sequence as for the source code distributed as tarballs (see the previous answer).
Related Terms: linux, how to, install program, downloaded from the Internet,source-code tarball, source-code, source code rpm package
