cellio: (avatar)
[personal profile] cellio
While waiting for assorted software updates to install today I found myself wondering... Mac OS and Windows usually need to reboot your machine to install updates. Yet I have, several times, seen Unix machines that I believe were being maintained with uptimes of more than a year. What's the deal? Is Unix just better able to support hot-fixes, or are Unix updates that rare? (Or am I wrong about the maintenance of those machines?) And if it's that Unix is better at updating, why does Mac OS, which is Unix-based, need to reboot so often? Mind, it's definitely better in this regard than when I was running Windows; this is a puzzle, not a rant.

Edit: Thanks for the comments thus far. I now understand more about how Unix is put together, and why Windows is different. Still not sure about Mac OS but comments suggest it could be UI-related (that is, the GUI might be more tied into the OS than is the case on Unix).

(no subject)

Date: 2010-11-14 08:27 pm (UTC)
From: [identity profile] asim.livejournal.com
Servers like that aren't (usually) updating their kernels. The Unix OS design is such that there's very little tied to the kernel in ways that they are in Windows, so unless you have one of a handful of apps, you rarely need to reboot to install. There's no hot-fix capacity in Linux, it's just that the kernel does so much less that the equivalent in Windows does. And even then, there's a new project to allow kernel updates w/o a reboot, but that's in early days, yet.

Re: UI -- all you really have to do for these points, unless you're replaced the kernel-level video driver, is restart X. Part of why some Linux distributions have you restart is that they don't include a "restart X" capacity, but many Linux sysadmins know about that and how to trigger it.

Without having worked on Macs, I suspect the above, coupled with the tight coupling Darwin (the kernel for Mac OSX) does between it and the UI, is why Macs reboot so often. But yes, it's mostly about loosely-coupled pieces, and what that can buy you.

(no subject)

Date: 2010-11-14 11:34 pm (UTC)
From: [identity profile] http://users.livejournal.com/merle_/
I agree. Back in the Linux 0.91 days I was rebooting constantly because I patched the kernel every night. These days, I live with what I have, because the apps are mostly independent (and daily builds were a pain). My work desktop is still running RHEL3. Why upgrade? I only use it for terminal windows, it's behind a firewall behind a VPN behind another firewall.

(no subject)

Date: 2010-11-18 03:37 am (UTC)
geekosaur: orange tabby with head canted 90 degrees, giving impression of "maybe it'll make more sense if I look at it this way?" (macosx)
From: [personal profile] geekosaur
OSX / Darwin has an additional little feature: it prelinks shared objects so they can be fast-loaded at non-conflicting addresses for most processes. The gotcha is, if a prelinked object is modified and then used before the prelink cache is generated again (as by an install while the system is running), Bad Things happen. (It's been known to require a complete reinstall to recover.) So starting in 10.5 Apple made most installs require reboots, specifically to insure that the prelink cache remains valid.

# # #

Many Linux/Unix admins don't want to reboot, hoping that the occasional (or not-so-occasional) kernel-based security hole won't affect them. I tend to consider that a bad idea these days.

That said, there's a (for-pay, although IIRC some distribution (Ubuntu?) has a reduced functionality version available to all registered users) technology called Ksplice that can patch a running kernel in many (most? all? haven't looked closely but I think the latter is impossible for logistical reasons) cases. It's been around for long enough that there could well be some Linux boxes with uptime > 1 year that use it to keep the kernel up to date on patches.

Expand Cut Tags

No cut tags