Intro
Hi,
I was recently attending a conference where I had an opportunity to see many interested speakers and topics they presented.
One of them was Fedora Silverblue which made a great impression on me and some other attendees that didn’t know it before.
The concept behind that seems really good and we could see a live upgrade & rollback process just in a 5 min lasting lightning talk - which stands for the stability of the solution.
We were also speaking about the year of the Linux on the desktop, where I shared my recent post-upgrade issue that caused this lightning talk at the very next day.
But why do I mention that?
It sheds some light on why I even started thinking about the upgrading experience in Ubuntu in the first place.
Problem
What was my problem that made me think?
Recently I upgraded my Desktop from 22.04 LTS to 24.04 LTS.
Unfortunately, apart from some other smaller issues that I was able to resolve, my webcam stopped working.
This is apparently well known issue with the laptop I have, but that doesn’t really matter.
The issue was not present in 22.04 and people in the Internet seem to second my experience - they also didn’t have this issue.
Of course we can discuss many options here, trying to resolve the underlying the issue, but if it would happen to my parents or grandparents, or any non-technical people we would like to introduce to Ubuntu, their setup would be screwed and would require lots of efforts to bring the system back to the previous, fully operational (to their needs) state.
Solution Proposal
Here comes my idea about following what Fedora did with Silverblue and make some efforts to gain a similar solution in Ubuntu in the future.
Having a tool that could do the upgrade/rollback in a form of snapshots, integrated with GNOME, could really improve the overall experience for users.
In my scenario it would let me quickly rollback to previous release, so I could work on the things I need to work currently instead of resolving post-upgrade issues, especially that most likely I can only wait for the solution to be worked out between Canonical and the laptop vendor.
I think about starting low, like adding some code to the do-release-upgrade
tool that would do the LVM snapshot as a pre-upgrading step.
It could then have an option to do do-release-upgrade --rollback
flag that could show available snapshots and let user pick the one to rollback to before proceeding.
I would be even happy to try to contribute to the tool if someone could guide me how to contribute to Ubuntu (I tried to find it, but it doesn’t look clear to me, so a guidance would be much appreciated).
It could be the very first approach that would work both for desktops and servers and later someone more experienced might bring it up to be integrated into UI, as it is with the Silverblue.
Final words
I would like to start a discussion about such improvement, to speak for/against just the idea itself and to ideate about possible implementations.
My proposal is just how I imagine it for now, but perhaps there are some other options that would be more feasible.
The end goal is to have a way to easily upgrade and also easily rollback in case of any issues - Silberblue has many features around the rollback process that we can dive deeper into details to get some ideas regarding how this could work with Ubuntu.
Of course I could simply switch to Fedora, but I use Ubuntu for 12 year or more, I really like the distribution and I would like to see Ubuntu as the most stable distribution for desktop, even if it wouldn’t be a trendsetter but following ideas from other distros.
With that I hope my idea will at least get some discussion if it’s good, bad or maybe completely pointless.