← Back to context

Comment by alimov

4 years ago

Yeah it might be unwanted behavior for your particular setup. Personally, on macOS and windows, I would prefer not to be at the computer when an update occurs - I also dont want to have to go do something else while I wait for the update. Just feels like a waste of time in my opinion. However, if I had reason to care about an update or the changes it was introducing I too would not want background updates running when I put my machine to sleep. I guess for an average user updating when the machine is not in use is a feature, while for the tech crowd that kind of behavior can mess with your preferred setup.

Running updates are only a problem on Mac or Windows. Updates on the different linux flavors I’ve used take fractions of the time, are unobtrusive (I can continue to do work), and as a bonus, never fail to make my aging self feel like a technoir hacker with all that rapidly scrolling text. It’s all whole different ball game.

  • Different user groups, different priorities. I had a colleague who was a seasoned C hacker and long-time Linux user (but not someone who'd be very interested in how a Linux distribution or package manager works). Their Ubuntu system indicated that there were updates. So, they started the update. However, it was taking too much time and they wanted to go home, so they shut down the machine during the update. Unfortunately, it left the system in a bad, (IIRC) unbootable state and the local sysadmin had to spend an hour to get the system in a consistent state again.

    Is it reasonable to expect that you can just yank the chord during an upgrade? Maybe, maybe not. But users have the expectation that it is ok, there can be a power interruption after all.

    This would never happen with a macOS update, which uses an immutable root file system and APFS containers to switch the root after an update. Or an OSTree system like Silverblue, Fedora IOT, or Fedore CoreOS. Traditional Linux packages fall flat on their face in such scenarios (unless you use a lot of band-aid like filesystem snapshots, set up GRUB to handle boot into the right snapshot, etc.)

    I think it is uncharitable to assume that the people making macOS (or Windows) update are incompetent. They may just have a different set of requirements and constraints.

    • > This would never happen with a macOS update, which uses an immutable root file system and APFS containers to switch the root after an update.

      There are still things that cannot be interrupted like flashing firmware blobs, on many devices. Before apple distributed updates using FS snapshots they would reboot the machine first and block the user with a message that it cannot be interrupted.

      It's also not a completely free or well implemented solution because (even as an x-apple user) I am made patently aware of just how absurdly huge their updates are, even for the smallest patch... incremental distribution and immutable FS based updates are not fundamentally incompatible, so I guess Apple simply doesn't respect user's bandwidth or assumes all of their customers have gigabit downlinks for the exclusive use of Apple devices.

    • That’s a good story. I thought apt can usually recover from incomplete updates, but maybe it was in the middle of a kernel or bootloader update or something when power got killed.

    • > This would never happen with a macOS update, which uses an immutable root file system and APFS containers to switch the root after an update.

      Hehe, oh yes you can still have data loss on macOS. See the recent article about how macOS SSDs use write-cache enabled.

      1 reply →

I always assumed it was smart enough though not to do it when it's on battery as it is very likely that the device is also in a confined space, such as a laptop backpack waiting for the trip to the office next morning.

If I have it sitting on power and thus likely just on the top of the table and I have auto-updates on, sure do them when I'm not around as long as they are updates that can run unattended. Note the "if auto-updates are on" part, which luckily you can still disable on MacOS.

  • I think macOS has a minimum battery charge requirement that has to be met before an update occurs in the unplugged scenario.

people on linux wait for updates? i thought that was a thing only for mac and windows... never noticed or seen a update screen on linux unlike the Windows nightmare where it would even kick you out of your work to do a damn update

  • people on linux wait for updates?

    Yes, Fedora downloads packages first and then reboots the machine to perform the actual updates and then reboots again into the updated system [1]. You can still run dnf update manually, but the recommended path is the former one. Why? Because in contrast to what many commenters say here, in-place updates of Linux systems can go wrong. Apparently, Fedora have encountered this often enough that they they have started doing 'offline updates'.

    (The proper solution, which Silverblue/Fedora IoT/Fedora coreOS/NixOS/GUIX do is to make system updates atomic with roll-back.)

    [1] https://fedoramagazine.org/offline-updates-and-fedora-35/

    • just checked how Fedora does it... it just downloads the updates and when you shutdown it installs them for you before it finally shuts down, doesn't seem as bad and not how you said it was.

      1 reply →