17

I have heard that Linux machines can run for months without restarting. Why then does Ubuntu say "Restart required to complete updates..." after installing updates?

Linux and UNIX users brag about how they haven't restarted their systems since George Bush Sr. was president.

http://www.tested.com/news/feature/1141-how-often-do-you-really-need-to-reboot-your-pc/

1
  • 3
    Most people that say that are running horribly vulnerable systems, but they are not connected to the Internet, or they are behind lots of firewalls.
    – Zoredache
    Nov 2, 2012 at 7:43

2 Answers 2

15

What you read was true. Most administrators will brag about their machine's uptime. It could be days, months or even years.
However, what you need to know is, those machines are not your everyday Desktop Systems. They are specialized Server machines.

First thing about them, they rarely run X11. Most server systems will usually always be only on the Terminals. So, an upgrade on XServer doesn't matter.
Second, as Karthik pointed out, an update to X Server only requires that you restart X, not the whole machine. So your uptime still remains.

Another very important point is, Server systems don't update to the latest Kernel Version as it comes out. On Ubuntu, you are probably using version 3.2 right now. On my Arch System I am using version 3.6, but many of these systems boasting of long uptimes, are still probably somewhere in the 2.xx line, albeit completely secure with backported patches.

All updates on such systems are done only in-place. The updates are first tested on a testing machine, and after thorough testing to make sure nothing breaks, and that a reboot is not required to implement it, they are upgraded by the administrators.

You could do the same on your Ubuntu System too. But then forget about automated updates. Do a bit of testing and try and make your updates in-place. Even Kernels can be hot-swapped. However, it takes a lot of skill and expertise to pull it off successfully everytime.

2
  • 1
    It isn't that hard. Just use ksplice. ksplice.com/pricing
    – Zoredache
    Nov 2, 2012 at 7:42
  • I mentioned it from the point of performing the whole process manually, not with any automation tool.
    – darnir
    Nov 2, 2012 at 7:47
9

This is the case ONLY if the linux kernel itself is updated. All other kinds of updates are applied directly. Kernel cannot be replaced while its running and thus needs a reboot.

A kernel update should happen rarely during regular updates and commonly done only during the upgrade cycles (12.04-12.10, etc)

You can choose to not restart, it will continue to use the old Kernel.

Edit: Kernel Hotswapping can be done to prevent the reboot in theory, but it doesnt look to be remotely trivial.

4
  • 2
    I just did an update, and it updated some xserver files. Yet the OS says it requires a restart to complete updates. Also, I am sure I've read somewhere that Linux OS'es can continue running without restart even after a kernel update.
    – Roland
    Nov 2, 2012 at 4:56
  • 7
    xserver TECHINICALLY doesnt need restart, you can just restart xserver :). Its just a simpler instruction to say reboot machine. In many cases log out login might also suffice.
    – Karthik T
    Nov 2, 2012 at 4:59
  • $ cat /var/run/reboot-required.pkgs outputs libssl1.0.0 - is libssl part of the kernel? Jul 5, 2013 at 3:17
  • 3
    @DanDascalescu It shouldn't be, and if you ask me, a reboot isn't mandatory when updating openssl/libssl, as long as you make sure you restart all programs/services that use openssl/libssl. I believe the maintainers of the package just took the easy way out and play it safe by requiring a reboot instead of going through all running processes, checking which ones use libssl and then doing guesswork to map the processes to upstart and/or sysvinit service names. Jun 6, 2014 at 19:22

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .