Wednesday, August 27, 2008

Why must I reboot after updates?

It seems astonishing that in this day and age, reboots are required to update software. For instance, Windows Vista will run windows updates, download them, say its finished, but only install them once the system has been rebooted, delaying the next boot. This also introduces the issue of dependencies. Certain updates must be installed before others. This means that if you start with a fresh install of vista RTM, you may have to reboot ten times to get it fully updated. I understand that updates cannot be applied to running systems, as that would require reloading the OS, but they could be installed. It could work as follows:
1.Upon installing OS, OS creates a duplicate of itself compressed so that the second copy references the first plus a differences file. This way, there appear to be two copies when in fact there is only the one, plus a file containing the differences between the two systems.
2.When updates are installed, they install to the second copy (rather, the differences file), as the system may need access to its files. In this way, there are effectively two copies of the system, taking up the space of one plus the differences between the two. Further updates can then be applied to the second copy, just updating the differences file. In this way, all updates can be installed in the order that dependencies require, without requiring a reboot except at the very end.
3.When the system reboots, the differences file can be copied over to the first copy of the system files, and a copy of the differences file can be backed up.The system files are now updated, and the system can continue to boot. The backup of the differences file contains the differences between the first copy and the second copy before the update was applied, allowing harmful updates to be easily rolled back.
This system would take some time implementing, but could save system administrators a lot of time. This only applies to windows, osx, and certain linux systems. Other systems, such as ones using the apt application manager, can update fully without a reboot already.

No comments: