I use Fedora 38, it’s stable, things just work, and the software is up-to-date.
- The package manager.
- New releases make it to the repositories quickly.
- The software is as vanilla as possible; no changes made by the distribution except to get it working.
- The wiki.
- +/- No nagging graphical updater.
- +/- Users can share build scripts for building software from source very easily
- +/- No particular stance on free software licenses.
Workstation:
Used to love gentoo, but it kept breaking on me.
Went Ubuntu until they went stupid, then arch for a while but again, breakage.
Debian works, I have to spend 0 energy on it, and I can layer on different vms and lxc for whatever other distros I want.
Server:
Was freebsd because it was perfect and jails were next level shit but people keep putting out software that was obnoxious to install without docker, so debian as hypervisor/zfs and freebsd for most apps, debian for the obnoxious ones. Perfect system.
Rock stability. Everything works. I run debian oldstable, even bookworm is too much for me at the moment. Yes, seriously. I tried to connect to my work office using azure web client and the keyboard layout was wrong. When I went back to debian bullseye, it worked as expected. By the way, this bug also happens with arch and fedora.
I have installed arch as well because sometimes I just want to play with things. I’m very interested in immutable systems, but NixOs is too difficult for me and I’m afraid I will spend too much time on it.
Debian Bookworm. On my laptop and all my servers.
I’m a seasoned professional Linux sysadmin, so getting a distro installed has never been a problem for me (thanks to my first proper distro being Gentoo).
In the end, it’s the stability and “knowing what to expect”, that always makes me come back to Debian.
I don’t know how you deal with non rolling releases on your machines you actually use for work. By the end of the lifecycle all the tools are ancient
ChojinDSL It depends on your use case. In my case I mostly manage bare metal servers running certain services or docker.
For servers I don’t want rolling releases. That just means stuff is going to break on a regular basis. In my opinion, Arch Linux is the worst offender here. I don’t know if it’s gotten better since last I used it. But with Arch Linux the problem was, that you had to keep up with the updates. If you forgot to update some machine in a while, it could happen that you missed some update that changed some critical things, and everything else already moved on, and the only way to fix it was to hunt down the intermediate package version and try to install that manually, or just wipe and reinstall.
As far as “ancient” tools is concerned, it depends on what those tools are. Bugfix and security patches is what I’m most interested in on a server. Just because there is a newer version of software out there with some new features, doesn’t mean that I need those features, or that they’re relevant.
For the cases where I need something newer, there’s docker, flatpak and backports repos, (if not third party repos for certain tools).
I use Ubuntu LTS. It’s stable, things just work, and it’s got 10 years of free support. That’s a very long time to not worry about my machines.
I don’t get it. You end up with ancient packages and have to install ppas to get modern tools, or write code that can’t take advantage of modern tools and have to do workarounds
No PPAs, no workarounds. Just Docker, Snap and Flatpak. OS upgrades become trivial. Nothing breaks.
$ sudo docker ps -q | wc -l
17
Currently running 17 containers.
E: If you haven’t looked into VS Code’s “dev container” feature for software development, you should check it out.
This is a similar reason as to why I use Debian as my base operating system and for just about every service I run on my host, the processes are containerized using Docker. It gives me the flexibility to choose the best “operating system” that supports the software I want to run at the release cadence that suits how I want to consume it for a given piece of software, and the base host OS is just that and nothing more. Upgrades to new Debian releases are non-events and I get no surprises with my apps in containers.
I can upgrade the underlying container base operating systems as I need which I choose Alpine, Debian, and Ubuntu based on which fits my needs. Alpine gets updates quickly, Debian is good for core services that I would normally run natively on my host, and Ubuntu hits well for wide support of almost every other service I need. So I get a stable base with the option to go as quickly as I need if I have a need for a newer package. It’s not always about having the newest software, it’s about stability where it counts.