These days, I almost exclusively run Arch Linux in my homelab and personal machines.
Had I the brain cells to spare, I’d try and get NixOS running on ARMv7, but in the meantime, a mix of vanilla x86_64 Arch and Arch Linux ARM is my chosen flavor just to keep things consistent.
I’ve run Arch as my primary server OS for almost a decade now, and although I’m sure some will balk at the idea, I’ve found that the distribution has performed wonderfully for me, even in contrast to traditional “server” distributions like CentOS.
It sounds counterinuitive, but the simple model of Arch Linux has, overall, helped mitigate some maintenance burdens.
Great suggestions, I’m excited to try some of these out.
How often do you touch your Arch servers, or how often are you pushing updates? What’s the longest you’ve gone without running updates and what does it look like coming back to it? I also assume you’re running the LTS kernel?
How often do you touch your Arch servers, or how often are you pushing updates?
I work on some of the busier servers at least every other day or so (like my single x86_64 machine), and when it comes to upgrades, I stagger an OS upgrade across my whole “fleet” about every two months. Since I usually can’t perform an upgrade across all the hosts in a single day (there’s 20 machines to work through), I usually precede the upgrade by doing a pacmatic -Syuw across all the machines to prepare consistent downloaded package versions on each machine, then do pacmatic -Su on the hosts serially which might take a couple of days. I do this primarily because there have been times when running sync (-Syu) gradually over a few days has caused drift in package versions.
What’s the longest you’ve gone without running updates and what does it look like coming back to it?
I’d say maybe six months has been the longest? Running a system update after that period of time isn’t very painful - I read upstream release notes via pacmatic, the actionable items which are usually some required --overwrite flags for certain packages, check the important parts after an update (primarily dkms status), and check systemctl --failed after a reboot to ensure everything has started up correctly.
I also assume you’re running the LTS kernel?
I’ve kind of hopped between LTS and the mainline kernel. I’ve actually found that the primary differentiator between mainline and LTS to be the locked-in minor version - the patch version on Arch LTS kernel packages increments almost as often as the main kernel package does, so kernel package change cadence tends to be the same between the two.