Installing Stuff
The whys and wherefores of software installation (FreeBSD 5.2)
Posted 16.11.2004 | Updated 23.05.2006 | Contributed by Andy Mallett


To the uninitiated, Unix has some pretty cryptic install routines. Here are some useful concepts..

./configurebuilds a makefile
makereads the makefile and invokes the .c compiler
make installjumps to the INSTALL label in the makefile and moves files into place, makes directories and adjusts permissions
make cleanintended to remove all stuff put in with make install

Many DOS/Windows users are familiar with the concept of 'zipping' up files and folders. Programs such as ZIP.EXE and Winzip perform two actions..

archiving - taking a load of files/folders and put them in one big file
compression - compressing te file to roughly 50% the original size

Both actions are usually performed automatically and seemlessly. However in the Unix world, the second compression stage may or may not have been performed on a file.

Tarballs are named after the programs used to make them, the files ending in .tar.gz or .tgz. The reasons there are two extensions to the compressed file - .tar and .tar.gz is that two programs are used to create them.

Fristly, the process of combining or concatenating files into a single file archive, known as tarring is performed. The term tar comes from tape archive, the original purpose of the function. Concatenation can dramatically improve the efficiency of the compression algorithm. Secondly GZIP or GNU Zip works like Winzip and compresses the tarballs with a .gz extension.

To decompress (extract) a tarball, a commonly used command is..

tar -zxvf [archive]

Where z=unzip, x=extract [untar], v=verbose mode, f=specify archive filename