All good things
Well it’s that time again after nearly a year and a half of Pop_OS I’m distribution hopping again. Pop_OS! worked well for my needs. It provided a stable medium in between the rolling release model and the stable release model that many Linux distributions follow.
Everything was running smoothly until one day I rebooted and my monitor was black. I could still log in, but I could not see the display manager. The problem had something to do with the frequency of the refresh rate. It was not the end of the world and the computer was still usable. However, I had spent far too much time trying to trouble shoot the issue. It was getting in the way of real productivity.
At the moment System 76 is fully focused on development of their new desktop environment. The new COSMIC system is a Rust based project with a new UI toolkit. They plan to target the new wayland display server and get it working on NVIDIA hardware. All this is to say System 76 is on a very ambitious path. The latest updates from System 76 look very promising. However this puts Pop_OS on the back burner and it’s patina was starting to show. System 76 chose to skip a major release in October when previously it was lock step in line with Ubuntu.
The older version of the Gnome based pop-desktop was becoming buggy. I found that it would sometimes inexplicably lock up. I assume these issues are a result of the way the Gnome ecosystem functions. It is a hodgepodge of plugins and extensions that break or become unstable with each iteration. The Gnome desktop makes anything other than the default a house of cards.
To the future
It was time to distribution hop. After a brief two days with old reliable Debian I decided to move back to an Arch based distribution. I have a love hate relationship with Arch. I’ve installed Arch the Arch way, the Arco way and the Manjaro way. Each has their quirks. I never got to try Anteregos but I always heard good things about it. Anteregos’s spiritual successor Endeavour has had a similar enthusiasm about it. So I chose to install Endeavour OS.
Endeavor OS is a highly configurable easy to install Arch based GNU/Linux distribution. It focuses mainly on the command line. For instance, it comes without a UI such as pamac for package management. Instead it comes with command line tools like yay. Endeavour OS gives the user a sufficient scaffolding to build their own system. All Endeavor OS versions come minimally configured with the expectation you will do your own customization. Endeavour uses its own package repositories for a few select packages. Mostly utilities developed to make using Arch simple. Beyond the few Endeavour packages Endeavour OS pulls packages from the standard the Arch repositories.
Endeavor is a great solution for Linux, but it is not for everyone. You need to be comfortable with the command line to use it effectively. You need sufficient network connection or you will find the rolling release model to be fatiguing. Dependency issues are a real possibility and a new user might not know how to solve such issues. Endeavour is a good tool for learning , but best for experienced users who know what they want.
System management
You might be wondering. How will this help me solve the issue of my system breaking after an update? Honestly, I don’t expect that it will. I have already experienced issues. However, I intend to learn from my mistakes and improve my system management.
Being responsible for a rolling release mainly comes down to a few things. First, good backups for when something goes wrong. Secondly, containerized packages to avoid dependency errors. Third, always check the core distribution’s RSS before updating to anticipate problems. Lastly, if you don’t have new hardware you should run the long term support version of the Linux Kernel.
For backups I decided to make sure I have proper system backups using timeshift, and user backups with rsync. I run timeshift daily and save a daily, weekly, and monthly snapshot of the system in case an update breaks something. I also run rsync every day with a script automated by a systemd timer to make a local backup of my home folder in case the system needs to be completely restored. Additionally, I keep monthly backups of all user files on physical media.
For containerized packaging I use flatpak to provide stable versions of mission critical software. I have already encountered problems with dependencies breaking software in the core arch repositories. So to separate the mission critical software from system software I have installed programs like Blender as a flatpak.