first of all, a lot of Linux distributions, such as Ubuntu or CentOS, Fedora, etc., can be double click to install their own distribution packages, such as DEB, RPM,.
So why do most software still need to download a tar.gz now, and then./configure/make/make install's tedious command installation,
In fact, Linux with Windows software release has one of the biggest difference is the Linux most of the software is open source, not only provide source code download, binary compiled download. Therefore, the three command above is actually a compilation of software, then copy to the system directory, it is not accurate to install.
But why do you need these three commands instead of double clicking to automatically execute the three commands?
The main or cross platform and customized. We know that the Linux distribution is numerous, Linux support platform is also a lot of Solaris, from the most used x86 to arm, so the./configure script can support many compiler parameters, so that the software supports almost all.
Windows, because almost all software is compiled binary package released, so the software is either 32 or 64 bit version version, is not universal. Fortunately, Windows currently only supports x86 and x64 two hardware platform, if Windows support other platforms, so we must distinguish between the daily software version more Linux. And as long as the release of a source package, the user is what you own compiled.
In addition a little studied software engineering knows that software development is modular, through the./configure command with the reasonable parameters, can not do not need to compile the module, such as the most commonly used PHP, with dozens of modules, which we usually need to compile what.
Some people might say that the Windows installation software can also be installed selectively, and I can't install the modules I don't need,.
In fact, Windows even if you do not install your selected module, it is not installed. This module and the module to access the main program is compiled, he only can automatically judge this module does not exist is not loaded.
In addition, a lot of Linux module is universal, which is dependent on, for example to use the PHP iconv function, the system needs to install the libiconv library, different computer library libiconv installation path, so what is the need to specify your computer through the./configure parameters of the libiconv installation path, PHP can be successfully compiled by Windows. Is a must in C:WindowsSystem32, can be customized so bad.
Again the make command.Make command is configured according to the parameters of just./configure, the source code compiled into binary files in the current directory, and not copied to the system directory. Why not make make and install
Because sometimes, we just need a software package inside a dynamic link library, rather than the entire program. For example, we often need to lighttpd in spawn-fcgi, so we don't need to install lighttpd, but directly compiled, by which spawn-fcgi can be.
Finally, make install is to compile the binary file and link library, configuration files, etc., to the system's various directories, the installation completed.
Here, some users did not see the text above, said: ordinary users do not need to know so much, they need to know how to use it. Yes, anyway, if these people do not Windows, can try Ubuntu or Fedora, the two edition can double-click the installer. But the disadvantage is not the depth of customization.
Let's imagine, if QQ has a tar.gz source release, then I'd like the installation order:
./configure, --without-ad, --without-qqshow, --without-popnews, --without-qzone, --with-ipaddress, --with-showip
Make; make install