A whole lot of thinking goes into what distro you should use as a dev. Its not just about your preference or what you like in terms of the Desktop GUI, packaging system or any other aspects of the workflow but there are a lot of other things too. For example, the larger ecosystem of that distro and the kind of support you get matter a lot.
Personally, I use Ubuntu as a daily driver, so I'm a bit biased here! The best thing that I like about Ubuntu is that it simply works. Perhaps the Red Hat and openSUSE have also improved a lot these days but there was a time at least as late as the 2010-2014s when Ubuntu had an upper hand in hardware support and desktop finesse. If you had a laptop with a special kind of touchpad or a WiFi/graphic card manufactured by a "linux unfriendly" actor like NVidia or Broadcom, chances are that it'd simply give up on you with any other distro than Ubuntu.
And even in cases where they did work, they left a lot to be desired. With Debian, for instance, many default settings are simply unusable on a desktop. For example, font anti-aliasing is usually set to off (at least on Debian-XFCE when I last tried) giving your desktop fonts a weird look. Secondly, they don't even provide a GUI to control your touchpad settings, they expect you to Google about the issue and fiddle with the byzantine /etc/* config files yourself!
Not that I can't do that, but why should I when Ubuntu gives me a configured and polished desktop by default?
Coming to Fedora, the desktop never had any issues (especially in the GNOME version), but I somehow didn't much like their packaging system (yum/dnf). Ubuntu's apt install works seamlessly and comes with special tools like synaptic and aptitude to take care of advanced scenarios. To be fair, I didn't put much effort to learn dnf but I don't see the point of it unless I'm getting any long-term benefit out of it.
Another advantage of Fedora which is often touted is that they provide a "bleeding edge" distro which means the apps are all supposed to be the latest versions. But frankly, I've never felt the need for a super-latest package at all and in a few weeks time, the new release will trickle down to all the distros eventually anyway. Running a stable and secure version of an app is far more important to me than having the latest one.
Finally, what I don't like about Ubuntu is their support! The official bug tracker at bugs.launchpad.net/ubuntu is atrocious when it comes to getting a problem solved. The maintainers' attitude there is like that of govt. employees! But thankfully, there are some other places like askubuntu and ubuntuforums where you can find sane voices.
What distro do you use as a daily driver for programming? What are its pros and cons, and are you happy with it?
Latest comments (103)
DEPRECATED
eh? I love when devs do this... "we are in charge of the product!"Might
workbe constantly done by Google, but applying that product management approach to backend stuff? Yeah good luck with that. Lucky for the rest of usyum
is not a SaaS I guess.Seems like a trade of features for performance, as the perceived deficiencies of
yum
, from that link you posted, suggest:Not cool. Hadn't heard of this. Would you be willing to save me a search and source this?
I've been there, and there's a light at the end of the tunnel. The solutions are out there, and can happen with quiet, incremental, fully compliant changes rather than revolution.
I use Manjaro and have done for the past 2+ years. I previously used Arch for years before that, but I would see probably 1 or 2 major breakages per year (remember the glibc update?). Manjaro delays updates for 2 weeks allowing for those major breakages to be resolved before they reach users. Also Manjaro has a much nicer installer, and a little more polish. It just works, and I haven't reinstalled in a very long time (it's rolling release).
Ubuntu, ironically, used to become a little less stable for me after a few version updates. It wasn't terrible - actually it is still probably my goto distro for just getting something up and running. I've had a lot of trouble with Fedora - F28 was great but the upgrade to F29 just broke everything. I used OpenSUSE a long time ago but these days it feels too customized and unstable. Tumbleweed did not work for me at all. I used to distro-hop a lot but since switching to Arch and then Manjaro I don't like the others as much. That said, if things started to break with Manjaro I would search elsewhere.
Fedora. I am biased though, because I am Fedora developer (ex-Red Hat packager).
Fedora also just works, but I always recommend to pair it with a laptop used by Red Hat engineers. That means Thinkpads. If there is a hardware problem, you are more likely to see it fixed.
Fedora is super stable these days. Unless you run rawhide directly or testing packages, Fedora is not any less stable than Ubuntu. Any reason to believe otherwise (apart from marketing)?
This comes to personal taste (and experience). I definitely prefer RPM and DNF to manage anything. One cool think about Fedora is Copr build system that let's you create and host your RPM repositories easily (also offers many packages that are not in Fedora).
Fedora is actually great for developers.
As an example we directly package Vagrant with libvirt that you can run in 5 minutes and have reproducible environments for your projects. Try to set it up in Ubuntu and come back to me ;).
Another example is that it provides daemon-less alternative to Docker that does not need
sudo
called Podman. (Here is how to run Docker containers in Fedora 31.) Podman is a RH project and will have first-class support in Fedora.Yet another think to consider might be the latest stock GNOME environment and language environment (so you sometimes don't need version managers).
Wow... no sign of NixOS, Void or Solus here. Each of these displays dev.to so well :)
I've tried both professionally but I always end up using an ubuntu variant such as ubuntu-mate.org/
use ANY os then run xubuntu OR linuxliteos inside virtualbox
dnf is still awful for administrators.
The logging is a bloody nightmare. Even the devs admit that it wasn't ready in what they wanted when they released it (see below). They actually suggest too that there's an analogue to /var/log/yum.log - in dnf. No there ruddy well isn't. Not at all. It's a joke.
They say they think that users (as if installing software is a 'users' thing?) prefer not having to write scripts yet (1) they gave a little script (because their helper command was incomplete, see) and (2) it's presumptuous to say the least: who's to say the system is even up? What happened to remote logging? Sheer madness. But then again so is systemd and it's binary logging. And everything else for that matter.
Besides. Any administrator who's worth their salt is more than capable of writing scripts to parse things. Yet they think they know what's best for the users - making them use a tool built for them when before you could do it your own way - or not. Well you still can but you have to do clean-ups on the log file (which you didn't have to do in the past). Basically dnf is terrible.
This reads like you mean to imply that "was used for like a decade before" is a bad thing, but I'm sure that wasn't how you meant it, no?
Ops greybeards & automationeers, have you met the likes of us?
Some comments may only be visible to logged-in visitors. Sign in to view all comments.