top | item 23656237

(no title)

arp242 | 5 years ago

> The computer decided to spend an hour doing updates instead

All Linux/BSD systems I've used can update in minutes at the most (excluding the download time); I've long since wondered why Windows update is so much slower? Even binary diffs generally don't take that long to apply in my experience. So where is all the time spent?

Also why does it need to reboot? It is the "hard" file locking that's on Windows?

discuss

order

cryptonector|5 years ago

In-place OS updates can be racy. Some updates require rebooting because they involve kernel changes that can't be applied to a running kernel. Then there's the WIN32 mandatory file locks issues, which prevent updates / replacement of files that apps are using.

But if Windows had anything like ZFS, they could apply updates on a fork of a dataset and then reboot very quickly into that dataset. That is the right way to do updates in general, at the price of always having to reboot, but you can do a mix of in-place updates when those don't require reboots and any races are safe, and ZFS-style updates otherwise.

MrStonedOne|5 years ago

> Then there's the WIN32 mandatory file locks issues, which prevent updates / replacement of files that apps are using.

I should point out that this is not actually a blocker, if somebody at windows actually gave a fuck they could abuse winsxs to do blue/green symlinks to get around the file lock issue. Meaning the update could happen in the background and take effect next boot without anything needing to happen at boot time. Most could be done by just restarting the proper system service.

Its just microsoft has decided not to give a fuck. Rather then work on why people want to deferrer and delay updates, they have decided... well, whats that meme? "no its the kids who are wrong".

m0xte|5 years ago

Reboot is definitely the file locking. One of the worst architectural choices that they made.

As for the time, I have no idea. A lot of it’s sitting there doing SFA looking at task manager.

freeone3000|5 years ago

Big updates are secretly reinstalls of windows, where everything is dropped back in. Big, slow hard drives make this take longer.

jimnotgym|5 years ago

My impression, as an enterprise user is that Windows updates require reboots less frequently than they used to.

I also note that Macs often require update reboots too, which suggests there is more to this.

Some Linux updates also require a reboot on some distributions. Less frequently than Windows, but still there.

luckman212|5 years ago

What's "SFA" (sorry for not knowing)

dingaling|5 years ago

> All Linux/BSD systems I've used can update in minutes at the most

But they naively schedule those minutes immediately after I've logged in, so the CPU and network is pegged and the disk thrashed while I'm sitting there cursing.

If I've logged in, it's to do a task. Not to wait for unattended-upgrades.py to finish its task before graciously handing the computer back to me.

Even waiting 10 minutes after login before checking for updates would be more tolerable.

eyegor|5 years ago

Which distros have that problem? I generally stick to arch or centos, neither of which has tried to kneecap me at login time. Of course, both are fairly manual for updates unless you set up cron jobs to schedule them for you.

jiggawatts|5 years ago

> So where is all the time spent?

I had the same question, so I decided to look under the covers to see what the update process actually involves. I experienced true horror, ran away screaming, and never looked back.

There are panthers in there, lurking in the shadows.

tbodt|5 years ago

Tell me more.

panpanna|5 years ago

Now compare that to Linux where even the kernel can be updated without a reboot...

(Assuming you run a recent Ubuntu)

eyegor|5 years ago

Huh? The one thing you generally can't update is the kernel since it's the foundation of every other process. I haven't used ubuntu in several years, have things changed drastically?

m4rtink|5 years ago

They do kexec ? (And no, ksplice/kpatch, if they are using that is not booting a new kernel.) I would be kinda worried about long term system state in that case...

rcxdude|5 years ago

Only partially: you can apply some bugfix and securit patches, but straight upgrades to a new kernel version still requires a reboot.