Hacker News new | ask | show | jobs
by dale_glass 1117 days ago
Actually as of late, Linux has been moving towards rebooting for update.

Yeah, you technically can replace on-disk files while services are running.

In practice this can cause trouble if an application wants to read an updated file at the wrong time, and library dependencies can require restarting a lot of stuff.

For ages people would install an update containing a security fix in glibc or libz or something, and keep on running the vulnerable version of the services that use them.

At that point you might as well reboot.

Modern Fedora has a very Windows-like mechanism where you reboot to update. You reboot, the system installs updates, then reboots again.

3 comments

While Fedora did move towards that, it's not the only way. A lot of systems which require high reliability are built to reload correctly.

At a generic system level, for example upgrading Nixos will pull new packages and put them next to the current ones, then reexec where possible. Nginx can replace its master process (SIGUSR2). Telephony software can often reexec and keep connecting open. Etc.

Outside of desktops it's not that uncommon to do seamless live reloads of the whole system.

I reboot after update just superstitiously.

Also out of superstition, I avoid hibernate -- when I walk away, it's either on and locked or shutdown. (I also did this on Windows; a mixed state just seemed off-puttingly and worryingly complex to me.)

Given what you said, and because I hear hibernation is notoriously buggy on Linux, both superstitions have rewarded me. :D

> Actually as of late, Linux has been moving ...

That's a pretty broad generalisation. Which distro's are you meaning?

KDE Neon has done this. Before I had to reboot anyway because usually the desktop was full of random crashes if I updated without rebooting.
Ahhh. As a first thought, that sounds like you could have restarted your desktop (eg logout -> login) without needing a reboot.

On a related topic, Ubuntu has an optional package that can be enabled to automatically restart the various systemd components that need it after their dependencies have been upgraded. From memory, that's specifically so people don't have to reboot unless it's really needed.

I don't remember the name of the package off hand though, but someone else here might... :)

I tried the logout/login dance several times, but it didn't always work. A reboot doesn't take much longer anyway so...
Yeah, makes sense for that situation. :)