On Mon, Feb 18, 2013 at 05:23:53PM +0100, Philipp Wagner wrote:
Am 18.02.2013 17:01, schrieb Claudio Freire:
Care to elaborate?
Many messages that tell you to reboot should actually just tell you to re-login. There's a big difference there, regarding running services.
Think of a Firefox update. Firefox consists of many different files in JavaScript, XUL and other languages, describing the UI, different parts of the application, etc. When showing e.g. a new tab with the Addon manager, one of those files is loaded from disk and displayed.
Now, if you update Firefox, those files get replaced with a newer version.
If one (or many) users have still a Firefox instance running, this results in a mix of old and new Firefox code running (the binary and the main libraries are still the old ones, since they are running, but many components that are loaded on demand, like the addon manager files mentioned before, are now from the new Firefox version. I guess many people have already seen that happening, and that's also the reason why Ubuntu has a custom Firefox add-on that displays an information bar inside Firefox telling you to restart your browser.
So the right way to do updates for software like this is to wait until no Firefox instance is running on the machine. The easiest time where this is guaranteed is actually during shutdown or boot.
I don't think Firefox is a good example for advocating offline updates. Consider a routine update in the middle of a release cycle on a system with open user sessions and running daemons. 1. Current state: I do a "zypper update", then "zypper ps" and it shows me what needs to be restarted. Pretty good chance it is nothing or one or two daemons which can be restarted safely without anyone noticing. Even if it is not the case, often the remaining problems are just running applications dynamically linked against replaced modules - which actually do not need restart. If I'm unlucky, I need users to relogin and only if I'm very unlucky, I need to reboot the system. 2. Offline updates: for many situations which didn't require it before, you need to do a reboot now. Which requires either to wait untill all users log out (with more users, this may take some time) or forcibly shutting down their sessions (I really don't understand why you chose Firefox which doesn't make much difference between SIGTERM and a crash as your example). Summary? There isn't a single situation in which offline updates would be less intrusive or less annoying for the users or for the admin. In any case when I need user to restart a certain application, you need it as well. In any case when I need user to relogin, you need it as well. In any case when I need to reboot the system, you need it as well. On the other hand, there are many situations when I don't need to do anything and you end up with shutting down all sessions (forcibly or waiting for users) and rebooting the system. You are talking about protecting the user from a potential application crash after an update. But you forget to tell us that you are "protecting" them by requiring a full system reboot so that the application has to go down anyway. Michal Kubeček -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org