I am often asked how often and when I update my openSUSE Tumbleweed machines. There are lots of opinions out there and many of them might be more right than my own, but my method has been reliable for my uses for about four years and counting. I run openSUSE Tumbleweed and openSUSE Leap on various machines using multiple architectures and I am quite confident that my methods are sound. Ultimately, the frequency you update has to work with you, your use cases and your network limitations. It should also be noted, when doing an “update” in Tumbleweed, it is a full on Distribution Upgrade, not just the updating of packages as you would perform on an openSUSE Leap machine. I am using “Update” in the most general term possible. I had must consternation over this title, as a consequence of knowing the difference between update and distribution-upgrade.
It is generally considered best to keep your system as up to date as possible, at all times to prevent nefarious actors from gaining access to your system and your data. I also realize that this is not always practical and as such have been noodling around what kind of frequency once should do their updates. This is a question I receive rather frequently and decided that I am going to blather a bit about how and when to update while including some of the difficulties I have experienced over the year.
Update (Distribution-Upgrade) Process
There is a proper way to update your Tumbleweed system. I have found that the graphical methods like using Discover in Plasma just doesn’t work reliably or is painfully slow. This is incredibly unfortunate as having this function would make the Tumbleweed Plasma experience top notch, I would say, best ever, across the board of the Linux options out there. This one hang up is a critical hit against it’s ability for mass adoption.
The best way to perform the software updates Tumbleweed is in the terminal. It is unfortunate that this is the only way to reliably accomplish it but here we are and I wish I had a more friendly way to do this but you have to go into terminal and type:
sudo zypper dup
I think the terminal experience with Zypper is fantastic so no complaints there. My troubles have been few but I see it best to acknowledge that it isn’t perfect. I have not had any issues with Tumbleweed so severe that I would jump ship but here are some things that can happen and here are the fixes for it. I want to stress that not a one of these have been so chronic it has eroded the joy of using Tumbleweed
Problem 1 – Curl error
The download process will halt, give you an error code of “connection failed,” or “Curl error 16.” Additional output is presented to you some options as to how you would like to continue. Generally, Retry (r) will continue the process and it may or may not happen again but your internet connectivity, performance of the system and the stress on the mirror will likely dictate.
Problem 2 – Segmentation Fault
I’ve only experienced it once on one 2010 era netbook which is obviously incredibly under-powered. It also happened after about a 5 month gap in its use. I have not been able to replicate it for nor could I find any solution or anyone else having the issue, for that matter. My solution for getting through the continual fault while downloading was running the update as root so that I could to minimize my interaction to continue to push through to complete the download:
zypper --non-interactive dup
I still had to babysit the machine but it was a lot less work on my end to just press the up arrow key and just hit enter every time there was a segmentation fault. This was obviously not a great Zypper experience but I have had far worse experiences with update mechanisms than this. The machine hasn’t been a problem since this one incident.
Problem 3 – Resolving Dependencies
This is more of an interesting challenge than it is an actual problem and it is unlikely that most users will have to deal with this very often. The issue is, when you have multiple repositories on your system, you may have multiple versions of a particular software package and the newest version may not be compatible with what is already installed. The cool thing is, Zypper will provide some options as to how to proceed. Generally, it boils down to either replacing the package from another repository, keep the obsolete package or de-installation of a package. For most people, the best decision is to either install from “vendor” official openSUSE or to keep the obsolete package. I would say that this happens every few months when there are significant version changes in the software. While some may prefer something more automatic, I like having this sort of control. It also helps to prevent automatic deletion of core system components rendering your system unusable. Thankfully there is a rollback mechanism, should you choose… poorly.
How Often Should I Update?
The answer for what works best for me is by no means the only solution. You have to taylor this to your particular situation. I update my various Tumbleweed systems based on a tier system of usage and how often I interact with it. My primary laptop that travels around with me, is updated once or twice a week. This depends on if I am playing with new software and want everything updated before I install something new. If this machine breaks for any reason I have no reason to panic because of the BTRFS rollback feature, snapper, and the ease in reporting a bug and waiting for the fix to roll down. This is largely true for my other primary systems that I regularly use. My main desktop is updated on either Sunday or Monday where there is nothing time critical and therefore if I have to faff about the system, I have some time to engage in the problem solving exercise.
My next tier of updates is my server and one other core system . Yes, My primary server runs Tumbleweed, you may ask why and the reason is that I am lazy and I don’t want to have to do annual distribution updates from one version of Leap to the next. Running “sudo zypper dup” every two to six weeks has been working for me quite flawlessly for the two years I have had this in operation. I like how this works for me and I am quite satisfied with how everything has been operating.
My last tier of devices are those that are not personally critical to me. There are six machines I have today that fall in this category. This includes my kids’ computers that they do their school work and a few bespoke devices that are either not up all the time or that I don’t touch all that often and remain idol or off. I get to these devices somewhere between monthly and quarterly. There is a strong case for running openSUSE Leap on these but Tumbleweed provides a better Plasma experience and therefore it is to my benefit to just use Tumbleweed.
My update problems have been few or just the occasional “curl error” that I have to ask the system to retry. I will say, I am about at the point where I probably need to set up some sort of internal mirror for the official repos so that I am not hammering the servers as much and stressing my already limited bandwidth. I’ll look into it at some point.
There was a recent Linux challenge started by a rather high-profile YouTuber / Content creator and he had some significant issues with his journey and I wonder how he would have got along with openSUSE Tumbleweed. Likely, it would have not been great due to the need to drop into terminal for things such as updates and the fact that Discover is still largely a broken user experience for system package updates. To that end, as much as I prefer openSUSE Tumbleweed as my daily driver, I see that it is not for everyone, not by a long shot… but it could be with just a bit of polish.
I am not knocking on openSUSE, not at all, it is what its users have made it out to be, where the passions of it maintainers and developers have molded it into. It is a distro whose technical underpinnings are rock solid but the interfaces for the graphical user are not well tuned. For a system administrator, this is a dream to use. For grandma and grandpa that want to get online to do their banking, watch some movies and perhaps get their feet wet in the Linux world, it is does have a barrier to entry. For someone with a passion to learn more about their system and don’t mind playing around in the terminal, this is arguably the best system you can choose.
What I truly wish is that there could be a little work done on the update mechanism, the integration with Discover to make updates seamless, some kind of wedge that just exposes, in a friendly manner, the power of Zypper, and the interaction in a “friendly” window where choices can be made, just the same but with a more welcoming presentation. This one thing, alone would open up the gates to the average or entry level computer user that wants to get into a rolling Linux distribution. I certainly would like to be able to push people, more easily, into Tumbleweed but the lack of polish does make me a bit hesitant.
Feel free to comment, disagree and provide suggestions on any of this. I do enjoy the conversation!