So after running
configure file on source codes for different applications one enters
make install to install the application. My question is what is the difference between
|show 1 more comment|
Make install is one of various possible targets in a Makefile. As a simple example, the other very common one is clean: make clean, in general, cleans temporary files which are necessary/useful by-products of the compilation process, but which are no longer needed once the final executable has been produced.
Make install contains the instructions to insert the compiled product into the system, for instance by running the necessary depmod command which takes care of a module installation.
Because the first one can be executed as a normal user, the second often requires system privileges.
If your next question is: then why not run both as sudo, then the answer is that not all installations are going to be used system-wide. For instance, if you do not have root privileges on a system you have access to, you may wish to compile and install a given package for your own exclusive use. In this case, you want to be able to compile it and pass it to the linker, but you cannot install it for use by all system users. In this case, the reason for the difference is obvious.
In other words, each stage of the installation process is organized so that it can be executed with the lowest possible privileges, which allows both system-wide and local installations, whenever this makes sense.