Why can’t you just roll back from a bad macOS update?
eclecticlight.co
eclecticlight.co
In short, the author's argument is:
- no method to roll back firmware updates
- the sealed system volume is huge and rollback capability would require keeping the whole old ~10GB around, which is a lot of wasted space
On a PC laptop it often is. Even on many all in ones now.
Compare like for like for goodness sake
[0]: https://www.google.com/chromebook/discover/pdp-samsung-galax...
32GB eMMC, not enough to do a feature update. The Celeron and 4GB RAM were not ideal either.
I think it was a PC. The low end of PCs is amazingly awful.
Don’t know if you’ve looked at that segment but, maybe it’s not what you loop for, but it started not long after Apple did (HP & Dell’s MacBook Pro design-ripoff series especially)
Also many lower end laptops have done it for a looooong time.
s/even/especially/
This used to be unheard of on PC laptops. Soldered storage in PC laptops is a recent development (past 10 years or so)
But, yes. It’s a form factor thing really, as people want smaller, thinner, lighter, laptops. Memory (and battery) removability gets sacrificed as those aren’t a priority for most customers
What difference does that make? The old version just needs to be kept on disk, not in RAM.
But even if the backup has to be stored on the on-board SSD for some reason, so what? It's temporary. That storage can be reclaimed when it's needed. MacOS is already using on-board SSD behind the scenes for Time Machine backups when you don't have an external drive attached. I see absolutely no reason why it could not do the same for a rollback image.
The real reason you can't roll back is simply that Apple doesn't want to allow it, because that would make it easier for the market to reject one of their updates.
Bingo. OpenSUSE makes it easy using BTRFS snapshots, enabled by default. Apple and Microsoft could make it easy too but empowering users like this isn't in their interest.
Right. That's why your Time Machine backups stop worki--oh wait, their integrated backup software lets you restore your disk to the state before the update. So your narrative is FUD.
(It also puts the burden on the user to actually make a backup before upgrading.)
https://coingeek.com/five-years-later-apple-removes-bitcoin-...
After the live CD years it became much easier to abandon the headaches and work with large signed images, but most OS vendors have had at least one pressure to continue with the hellscape of patch permutations and one way configuration adaptions.
This reads like Microsoft’s ‘the old new thing’ where they make up excuses for choices made by Microsoft and here for Apple.
I presume the real reason is that Apple would say instead of preparing for the update to fail, it’s better to make sure it doesn’t fail in the first place.
Depends on the build quality. /s
I'd be removing that snapshot as soon as possible after a successful update.
This wouldn't be such a wasteful idea had they used file system snapshot differential block transfer a la ZFS send. All I can guess is that they either think their customers are so rich they must all live in places with gigabit internet available, or they just don't care and everyone suffers. Either way it's a massive waste of time, resources and energy, just not theirs.
That would have been so epic. They should do that in FreeBSD. Take the macOS idea of having a separate protected partition for the base system, and combine that with the support for ZFS in FreeBSD to use ZFS snapshots to update the FreeBSD base OS, instead of having to run freebsd-update which applies a bunch of patches
I moved to FreeBSD precisely because I wanted more control than Apple would give me (which is ever less of course).
And freebsd-update works well, it can even validate files so you can see which have been manually changed. This is perfect for me, it's not a hard lock to what the provider decides but more of a suggestion.
They resisted any kind of low data mode for a long time because their “vision” was unlimited, unmetered everything.
Which is a nice vision. But not the reality for now.
IIRC that's how Windows handles update rollbacks, by doing this. Though disk space tends to be much cheaper on Windows devices, on Apple devices you pay a premium for extra internal storage.
I know what you mean by this, but isn’t this the case everywhere? Or at least on comparable systems, e.g. tablets?
* https://wiki.freebsd.org/BootEnvironments
* https://klarasystems.com/articles/managing-boot-environments...
* https://docs.oracle.com/cd/E23824_01/html/821-2726/gkwcz.htm...
Of course, if Apple manages to not break their OS with updates, that's not a problem in practice. I don't have a lot of experience with macOS, so I have no idea how problem-prone Apple's updates are.
That's no longer an issue on Apple Silicon systems. There is no firmware resident in hardware; everything gets loaded on boot.
* https://support.apple.com/en-ca/guide/disk-utility/dskuf8235...
Running "tmutil listlocalsnapshots /" the new "foo" named one shows up.
Various CLI stuff that can be done:
* https://eshop.macsales.com/blog/56681-working-with-macos-sna...
* https://old.reddit.com/r/mac/comments/zymnlz/apfs_time_machi...
Also, apfs.util has a flag for restoring a snapshot (but I haven't been able to figure out the syntax).
The upgrade removed emacs, the C dev tools, and deleted any top-level directories it didn't know about / approve of, including my backup!
I have Carbon Copy Cloner and was dumb enough to think I didn't need to use it before this upgrade. Now instead of a development system, I have a glorified web terminal. What a pain in the ass.
Anyway seeing as Apple froze GPL software at the last GPL2 version, surely you’re using Homebrew or MacPorts to get a newer version of emacs anyway?
As for C compilers, I’m not sure if they’ve ever been in the base install, but AFAIK it’s “xcode-select --install” you want if you don’t want to install all of Xcode.
Nope, because I don't care about emacs' latest upgrades. I've been using the terminal version of emacs (emacs-nox) since the 80's and whatever version is installed has always worked fine.
I tried to install xcode tools yesterday. First it has a license agreement window that needs a click, but it doesn't pop-up in the foreground so I didn't even know it was there. The Install button just error beeps. Then it said it would take 59 hours to download. That's nice. I aborted it.
I restarted it today. It says it has 11 minutes to go so maybe things will go smoother this time. Still a complete pain in the ass, and nope, it didn't fix the speaker (I didn't think it would, just a long shot).
Thanks for letting me vent!
[0]: https://eclecticlight.co/2020/01/23/catalina-boot-volumes/
"It might be hard" is not a good reason when previously they have done so but made a design &/or business &/or UX decision not to. I very much doubt that difficulty was the driving factor in this choice.
This generally shouldn't be happening in minor updates, and even if it does, there are ways of designing apps to handle this. I've done it before. (And in fact, software developers themselves often roll back versions of their software while developing and testing, which you should know.) As the author indicates, rolling back is possible, albeit overly difficult, so the possibility must be accounted for in any case.
Major OS updates are different story. The key there is to avoid being an early adopter. ;-)
Up until recently they did support rollbacks from a bad update, so I'm not sure the above holds as a reason. They used to, and if it's harder now then that is part of a deliberate design decision.
The worst thing was Intel’s heartbleed issues that killed the CPU, it was around the 8th gen i7 if my memory is correct.
(Seems like it got better in Big Sur, and haven't had a single one in Monterey)
I'm not an OSX developer (I'm just a writer) and still trying to figure out where the change happened and why. The devs upon whom I depend are also mystified and/or not talking.
Being able to roll back updates when so many people depend on your OS seems like a good thing to me.
- inform users of the difference between feature updates and security updates
- show them how to install security updates rather than major version changes
- give them a short window after which they must at least upgrade to the latest security patch on whatever version of macOS they're running so that they can choose their own update time for minimal disruption
There's no need to silently break anyone's computer while they sleep, or shut it down while they're working. It's shameful to even expect employees to put up with that.Not sure if this was fixed in the last 3 years because I moved away from Mac management. But it was a problem unless you used something like jamf which roll their own mechanism.
Intune only supports what Apple offers so they're was no options there
I think there's a lot of room for improvement in this area but I don't see a lot of interest on the part of implementers or vendors. I think it's probably the usual incentives problem with enterprise software, which is tough.
It would be cool for optional dist-upgrades and it would just be so phenomenal to be able to update and then revert - like we can for monitor settings.
For Debian you might need a file system with snapshot support, e.g. apt-btrfs-snapshot is a package that handles it, though I never used that myself.
People keep making excuses for buying metaphorical "cars with the hood welded shut."
Glad to hear that Linux hit 3% market share.
https://www.macrumors.com/2023/07/10/apple-pulls-ios-16-5-1-...
> Unfortunately, it appears that the updates changed the Safari user agent to include an (a), leading some websites to break.
Lol...
On my very important Windows machine I use a full mirroring of disk before letting the OS to update. Rolling back means rewiring a boot disk.