I am interested in knowing how software update works (technically). What all are the components that checks, downloads and installs new update and how do they work.
I am interested in knowing how software update works (technically). What all are the components that checks, downloads and installs new update and how do they work.
That's something for a complete 600 pages book! 8-) More or less, someone gets a software project, compiles it and creates a package and stores it in a repository.
Packages receive a version so the system can recognize older and newer versions.
The package system on your computer can access the repository and see whether new versions of packages that are installed on your computer have available. If so, it offers you the possibility to upgrade.
There is a lot more to it than just that. For example, when upgrading a server you want to stop the server, do the upgrade, then restart the server. These steps are accomplished by pre and post scripts as described on this page:
http://windowspackager.org/documentation/implementation-details/scripts-and-processes
Another important point, different packages may not be compatible between each others. For example, if you install Postfix you cannot also install sendmail because both offer the same functionality (although there are ways to offer both software via the alternative links.) Similarly, installing Apache and httplight would generally be in conflict because both use port 80 by default. Again, you can fix the conflict by tweaking the settings of each server, but by default the operating system is likely going to tell you that you cannot do that.
You may want to read about the Debian Policy Manual
http://www.debian.org/doc/debian-policy/
as it gives you quite a bit of information in that regard.