Ubuntu's popularity often makes it the default choice for new Linux users. But there are tons of other Linux operating systems that deserve your attention. As such, I've highlighted some Ubuntu alternatives so you can choose based on your needs and requirements—because conformity is boring.
From an engineering perspective, I prefer Debian distros. Apt is the greatest package manager ever built. For a production server, I'd choose Debian or maybe Ubuntu if I needed to pay someone for support.
But for a desktop, Ubuntu kinda sucks. These days, I think I'd recommend Fedora to Linux noobs.
Linux Mint Debian Edition is my standard recommendation for desktop for those newer folks.
Straight up Debian for everything else. Debian is my desktop. And all of my servers (aside from some things I'm testing for work or something where I need to test against RHEL or something).
I was fighting rpm hell on redhat for the 3rd or 4th time using red hat linux 5 to 6 or perhaps 6 to 7. When i first installed debian potato on my daily driver. We had 20 ish servers, but the constant hunt for the right combo of rpm's made me distro jump my own machine. A while later i was floored when i could apt-get full-upgrade to the next debian version without rpm hell and almost everything just worked. Never installed another redhat machine and have been using debian + kde ever since. And 99,3% of all servers i maintain are now debian. A few odd ubuntu machines for $$reasons.
Bit of a noob but what’s the practical differences between Apt and the others. I use Fedora and the only difference I notice is that instead of typing apt update and apt upgrade, I just type dnf update.
In terms of practical differences to normal people, there aren't many, and it pretty much comes down to the syntax of using them and the speed at which they work.
Personally I like the syntax of using dnf, even if it is kinda slow, especially compared to the likes of pacman.
Urgh, no, it's not. Everything about it is super crusty if you go beyond simply installing packages and adding others' PPAs IMO.
Packages often enable the services they install right away. Someone told me they got locked out over SSH because they installed a firewall package that locked everything down by default, and the service got started on install. I guess that's technically more of an issue with the way things are packaged rather than the package manager itself, though.
To temporarily install a package (so that it will get uninstalled with the next autoremove) you need to use aptitude to install the package, or run apt-mark auto after installing (which will also clear the manually installed flag if it was manually installed before), apt has no syntax for it.
dpkg-scanpackages is eternally slow, I had to write a wrapper for it that runs it separately for every package and caches the result because I didn't want to wait multiple minutes for it to rebuild the PPA package index
The standard packaging tools (dh-make or debuild, I think I've looked at both) are insane, so much so that I gave up and wrote something that takes files similar to Arch PKGBUILDs which calls dpkg-deb at the very end.
I could probably list more but I haven't had to touch apt in a while, thankfully. But it is probably the #1 reason I avoid anything Debian-based. #2 is probably their Frankenstein sysvinit/systemd setup.
I do have to say that apt remove vs purge is pretty cool though.
Packages often enable the services they install right away.
That's a problem of the package, not the package manager.
Generally this fits with Debian's philosophy. But regardless I think it's out-of-scope for why Apt is good. You could make a distro with Apt and not have your packages do this.
To temporarily install a package [...]
I'm not talking about apt the CLI tool, but the actual package manager. The plain apt tool is only designed to be a convenience wrapper for common workflows implemented in other tools.
As you correctly pointed out, Apt has the distinction between packages installed as a dependency ("auto installed") versus packages installed directly ("manually installed"). This is precisely one of the reasons why I consider Apt the best package manager. (Yes, I know other package managers can do this, not all though.)
If you want to install a package as manual, then later mark it as auto, you can do that with apt-mark.
dpkg-scanpackages is eternally slow.
Are you maintaining a PPA for others?
Frankly, I've never run into this problem.
The standard packaging tools [...] are insane.
dh_make helps you create a package that adheres to Debian policy, and there is good reason for Debian to have those policies. But if you're just packaging something yourself, you don't have to use it. It's just a template for new packages.
At the end of the day, all you really need to create a deb is to create two files debian/control and debian/rules. These are the equivalent to a PKGBUILD. The control file specifies all of the dependency metadata, and the rules file contains the install script.
The difference in packaging philosophy is that PKGBUILDs are external and they download the upstream sources. On the other hand, in Debian, they rehost the upstream package and add the debian directory. This means that building Debian packages is mostly hermetic: you don't need access to the network.
What do you like about it?
Mostly that it makes super useful distinctions between concepts. But there are other goodies.
Manually installed versus auto installed.
Uninstalled versus purged.
Upgrade versus Dist Upgrade.
Dependency versus suggestion versus recommendation.
The alternatives system.
Pinning, and relatedly that packages can include version constraints in their dependencies.
Interactive configuration at install time.
Support for both source and binary packages.
I also do appreciate that Debian pre-configures packages to work together with the same set of conventions out of the box. But again, that's a property of the packages, not of Apt.
Fedora’s near daily update and restart cycle is so annoying esp when you have an encrypted hard drive. I know it’s part of the deal and I’m lazy, but all I’m using it for is a Jellyfin client.
What do you mean restart cycle? You only have to restart if you want to load the new kernel (there's technically a way to avoid even that). If you don't feel like installing a better tool for the job like Debian, just update less, most of your packages will still be newer than most distros. Also not sure why you would encrypt if its just jellyfin client.
Same. Albeit I'm on manjaro which suffers from the same issue. Distro hopping on an encrypted drive with no separate home partition is a huge pain in the butt
Default scaling on login screen and desktop sucked. If I had vision problems it would be unusable.
Settings application crashed after trying to open half of the menus.
Despite user interface looking like it's made for tablets, the actual touch usability was horrible. I couldn't even resize windows without being precise as fuck and there was no windows snapping despite it being a feature on Windows for more than a decade.
Couldn't double click on Windows program to run it in Wine despite it being possible 10 years ago.
Reliance on snaps, even though installing software from 3rd party sources still being horrible.
I was a longtime Debian/apt diehard but I'm coming down on the same side of late. My homelab runs Proxmox (Debian based) with Ubuntu 22.04 LTS containers for more up-to-date packages, but my attempt to use KDE Neon (Ubuntu-based) for my desktop PC was a disaster. I've switched to Nobara (Fedora-based), and other than having to switch from Wayland back X11 because Wayland on NVidia breaks a bunch of things I need for work it's been relatively smooth sailing.
Yep. From an engineering perspective I prefer Debian distros. Ubuntu is a Debian distro. I said I would consider using Ubuntu in prod, and this is the reason.
Manjaro was one of my first distros when I was still learning, when I installed it, it made Wayland my default but didn't put in the required nvidia kernel parameters and I couldn't boot. I didn't even know what Wayland was to know why I couldn't boot
People love to bag on Manjaro, but I know a fair number of people who use it as their primary OS. Hell, I used it as mine for almost a year and a half; I only moved to Arch because I was super bored one weekend.
I'm not saying don't use it, I've used it in the past and they get some stuff right. The included programs are generally good choices, their customisations on the DEs differentiate Manjaro from others, the GUI app that lets you trivially install different kernels with the click of a button is great. Unfortunately it ended up causing breakages a couple of times, so I moved on.
I'm saying if I were to pick a word to describe it certainly wouldn't be "reliable", due to their whole holding back Arch packages but not AUR ones, leading to dependency conflicts.
I honestly don't know why they don't hold back AUR ones as well (or don't hold back a week, a-la EndeavourOS). That'd solve IMO the biggest issue with the distro
Plus the whole repeatedly not updating expired security certificates and telling people to just roll back their clocks to "fix" it.
If it happened only once, I'd chalk it up as an embarrassing albeit understandable mistake. But it's happened, what, 3 times now? It's an issue in itself, but it also brings into question what other stuff they're messing up behind the scenes due to poor processes.
I mean, why not? Manjaro has recent packages and actively focuses on a user-friendly experience. Which includes things like a nice installer, good automatic support for hardware out of the box, a nice GUI for the package manager, GUI managers for drivers and kernel versions, it's based on the stable Arch branch and it comes with the LTS kernel etc.
Back a few years ago when I was looking to move my desktop away (from Ubuntu, ironically) I downloaded a bunch of distro ISOs (the usual suspects, we all know them, Pop, Mint etc.) and tried the live version to see how it goes. I picked Manjaro because it was the only one that did everything perfectly. Recognized all my peripherals, network shares, played all videos and music, printer, whatever.
(I know the usual arguments against it, btw, but it's mostly unrelated stuff or outright false.)
During my six month usage of Manjaro (my introduction to Arch-based distros), my desktop broke four times and booted me to the terminal. Almost once a month. I told myself this was the price you paid for living on the edge, using a rolling release. I switched to EndeavourOS and have not had a broken desktop in two whole years.
Manjaro's handling of AUR packages is fundamentally wrong and with their design decisions it cannot be fixed. You either give up the AUR entirely, or resign yourself to constantly breaking AUR packages and having to try and fix them.
Manjaro's handling of kernels via a GUI sounds good until you realise it's entirely manual and if you don't keep checking you will end up running an unsupported, out of date kernel with Arch packages that expect a newer one. Again, Manjaro violates Arch's golden rule of avoiding partial upgrades by holding your kernels back until you manually update them in their GUI.
If you're running an Arch-based distro 99% of the time you want the latest kernel and an LTS kernel as a backup, but these are already in Arch as packages (and are thus updated in lockstep with your packages, as designed) so you don't need Manjaro's special GUI. Now if you wanted a particular kernel for some reason then sure, but Manjaro's GUI doesn't even let you pick the exact version you want anyway! All you can pick is the latest version of each major release.
If you're anything like I was at the time, you think you like Manjaro but what you actually like is Arch. Manjaro just gets in the way.
There's a huge hate bandwagon for Manjaro and I don't really understand it. I don't consider myself a linux expert and maybe that's why but I felt like Manjaro was very accessible to someone new to Linux who wanted to use Arch. You have the ability to install what you need while also having a relatively stable system. I enjoyed that it came with software that I would normally be using but I know there's a lot of diehards who want just Linux and to install things themselves, in that case they should just use plain Arch or Endeavor, but I think for others Manjaro is perfectly fine.
There were lots of distros that tried to target regular users before it. Mandrake/Conectiva/Mandriva, Corel, Mepis, Lindows, Linspire etc. just off the top of my head.
Hell, Lindows came preinstalled on Walmart PCs at some point.
You're not going to get a telephone number you can call, but the documentation maintained by Arch is far superior to that offered by Ubuntu. If support is your biggest concern, you're far better served by Arch.
That's fine for someone willing to read documentation, the average user would rather read a forum post, which Ubuntu has a shit load of posts about using and fixing it.
Yeah exactly this. Not only lacking direction but the Upstream SUSE recently decided to move away from traditional desktop. Instead, they now offer ALP, which stands for adoptable linux platform. So OpenSuse has no real dekstop products to build of, and the community has to do much more work in order to produce a stable desktop distribution.
I was a happy user for a almost 2 years, but in that time the community had discussion about many "small" things, many of which were about "principles". This made ne very uncomfortable in using it, since it felt that every moment the "community" would decide something that would significantly change everything.
Ubuntu used to have the mission of being Linux For The Masses. Their marketing material used to include a bunch of trendy diverse young people standing on their logo. I'm pretty sure they've completely abandoned that cause in favor of trying to out-corporate RHEL. Their present-day web page has more corporate logos on it than the starting grid at a NASCAR race, and I challenge you to find the link to download "Normal Ubuntu for normal desktops."
Debian. It's simple, stable, minimal upkeep, rarely if ever has breaking changes, and all this out of the box.
Someone new doesn't need to be thrown in the deep end for their first foray into linux, they want an experience like windows or mac: simple interface, stable system, some potential for getting their hands dirty but not too much to worry about breaking
Debian? First time i installed it wanted to use CD for packages instead of online. Don’t know why. Second time it didn’t have wireless drivers as these were non free.
Non-free-firmware is now handled automatically during installation as of the most recent Debian release, just FYI. For reference, see the note at the top of this wiki page: https://wiki.debian.org/Firmware
Debian is in many ways the "deep end". A big part of its development philosophy is prioritizing their weirdly rigid definition of Free Software and making it hard to install anything that doesn't fit that. I'm not saying it's not a good distro, but IDK if it's beginner friendly.
The first time I tried Debian was when I was new to Linux, on a laptop with both the Ethernet and Wi-Fi unsupported. On top of which, it had an nVidia GPU. It was hard.
Now I know much more about Linux and checked the Motherboard for Linux support before buying it.
Debian works pretty well.
So, it's beginner friendly as long as someone helps you out with the installation after checking up on all the stuff you will need to run.
"PPA" is Ubuntu's branding for third party repositories.
So, of course you will have a hard time adding a Ubuntu-specific third-party repository to anything that isn't the Ubuntu version it's made for...
Debian of course supports third party repos, just like Ubuntu. On Debian they just aren't called "PPA".
For more information on how to add third party repos to Debian (or Ubuntu, if you don't use Canonical's weird tooling), check out the Debian Wiki page on UseThirdParty or SourcesList. There's also an (incomplete) list of third party repositories on the wiki: Unofficial. And just like with PPAs, anyone can host a Debian repo.
out of the loop since I've moved to debian and been using flatpak for the last few years, what software are you installing via PPA that isn't generally available via flatpak?
Fedora is also apparently newbie friendly. IME, RHEL is not, but their free developer license is good if you want to learn working with it. Some employers use RHEL exclusively, so it’s not a complete waste.
I might give Fedora a try then, finally see what's so yummy to all the users. Originally stayed away because I heard it was based of RHEL and didn't want an office-grade OS to do tinkering on.
Also, how about that "freedom," Red Hat?? what happened to FOSS????
To add to that, there's so much "support" out there for Debian and by proxy Ubuntu. You can Google any error and you'll find the fix. That's what draws new people to them. Even my self even though I'm not new to the Linux ecosystem. Ubuntu makes a perfectly good and stable server operating system.
One time the installer got stuck on my hardware. Never again. Debian deserves a lot of credit but personally I will not go near an OS unless I am certain in advance that the initial installation will go without a hitch.
By starting the switch to Gentoo, they either learn Linux well enough to never want to go back, or they fubar their system so bad that they can't go back.
Back in early 2000s I ran Gentoo as daily driver for a year, while almost a Linux noob, but eager to learn. Installation instructions were long, but excellent.
It was fun, and worked well, but in the end the long compilation times got the better of me. Now I heard they are including binary packages, so the itch is coming back.
Right now running opensuse tumbleweed, which works fine, sometimes too smoothly.
Rarly laughed that hard. Reliably is by defenition wrong. Manjaro delays packages a few days in their main compared to Arch this can cause issues and makes them not compatible with the AUR which one of the most advertised and enabled by default feature.
I tried out Arch for a while. The AUR is a bit of a wild west and at least I found it important to vet packages before installing them. It was a hassle. The same reason I only use one package from the OBS on Tumbleweed now.
Yeah, that one made me chuckle as well. But I guess the article 'had to be written' for reasons & it does actually have some overview value & nice pics ... which I guess is what new users have to go on before they actually dive in.
“New to Linux? Where the most daunting thing about switching to it is how many choices you have in configuration? Well, good news! You have more choices than you think!”
Well many search engine results recommended ubuntu for newbie.
I remembered the first time i used linux (15 years ago), i choose ubuntu because google recommended it & it has very nice UI compared to other linux that time
I don't think this is still true, Debian 12 will install non free drivers if you choose by default. I had that issue on 11 though. I'm not sure how a graphical install works as of late but configuring sudo on a headless box is always tedious and would not be easy for a beginner to figure out.
That might just be the quickest way to make someone hate Linux forever. The glitchiest, most troublesome install I've ever tried to do. In the end, after two days of work just to get the damn live image to boot, the only reason I kept going was probably sunken cost falacy.
Yeah, maybe. My experience has been a multitude of hangs and flash drive rewrites. At first, I thought my flash drive might be bad, so I tried another and quickly determined that the other one was actually bad before going back to the first. Eventually, I ended up just unplugging everything out of desperation and for some reason that worked.
I'm actually still working on this as I type this, currently waiting on partition changes because, while I read that 500MiB is recommended for Pop's boot partition, the installer has told me that it's too small...
Since I'm still dealing with this, and given the issues I had booting the live disk, there's a good chance this won't even be useable in the end. I've used Ubuntu before, and it boots fine, but fuck if I want to deal with snap.
Edit: Went up to 750MB (yeah, MB not MiB here, easier to think about later). Still says it's too small. Sure wish I had some detailed documentation to work with here, instead of just "use Clean Install" in the official docs and a single Reddit comment saying "500MiB is good." That would the bee's damned knees.
Edit 2: Works fine once installed. The live disk just would not boot with anything else plugged in for some reason.
I consider myself to be an intermediate Linux user. I have hosted applications and services on Linux servers in the cloud and use it as my primary operating system. I recommend Linux Mint. If you have an nvidia GPU, then I recommend PopOS as they have a version that has nvidia drivers pre-installed.
When I first started with Linux, I thought that Mint was less capable than other distros as it was the most user friendly. But I learned that you can do anything you want with any Linux distro. It is just that Mint is the least likely to give you trouble with random things.
With that all being said, you will have far fewer issues with Linux than you will with Windows.
Additionally, you can get legit troubleshooting steps for linux that actually work. With Windows it seems that there are 100 ways to possibly fix an issue and they feel like patching a sinking boat.
i've been pushing mint for years because it truly is just that good. everything just works. easy to learn. lots of easy customization available by default for even beginner tinkering. there is no headache or issues with drivers, patches, or software, ever.
but unfortunately (most recent versions) have become more prone to heavy slow downs and the new store in the latest update is utter trash.
First year of Linux for me was Mint, loved it, have since switched to popOS which I will admit has been less stable than mint with the DE very infrequently locking up, it does self recover. Only REISUB'd Mint twice and I don't actually think I've had to on Pop yet, some recent nvidia driver made it angry but rolled back without issue
Not the first time trying Linux, but the first time in the last 10 years since I tried it and I'm digging Mint. Still has problems with my Logitech steering wheel and Logitech mouse, but overall not bad.
I can't say I can fully complain about Ubuntu when Mint came about because of it. Also because I have no other choice than to use a Ubuntu server distro for one of my classes.
The funny part about that is our instructor had us install a GUI and didn't choose gnome because he doesn't like it. He said it's a pain to use, which I don't have an opinion on either way since I've only ever used it for a combined total of less than a year.
It's Arch Linux with preinstalled stuff right from the install.
I won't recommend it, you still would need a good amount of knowleadge first to drive an Arch based system.
Imagine a Windows modification with some gaming tools preinstalled and scripts for one-click install things that usuallu take five clicks. Great, but only to speed up things you do often.
It ships with some gaming stuff, uses zen kernel, has some performance mods (I guess), and a theme as ugly as sin. But you can make any distro do what it does. I'm sure it's in the same territory as Nobara.
alpine is great if you don't plan to use a gui and just want to set up command line stuff. not all new linux users are looking for a desktop replacement. some just want a server for file sharing or running plex, etc.
I use OpenBSD, and Alpine is the only Linux distro I can recommend :)
It is somewhat like FreeBSD (not having X by default), and they are both not friendly to newbies when compare to OpenBSD.
People should start with a free and sane default and gather knowledge, not start with a beautiful desktop environment (integrated graphical environment) and use browser and libreoffice and proprietary software on their device.
Would you recommend something different for someone who doesn't need a "starter" but still wants to dual boot? I'm not super unfamiliar, I just haven't bothered for a long time
Some don't play nice with dual booting. I'm honestly not familiar with the "why" but a couple of distros I looked at (one was one of the gaming forward ones, forget which) are outright like "don't dual boot this and if you do don't come crying to us.
I'm guessing they struggle seeing other file system types but I have no idea.
As a noobie to Linux I have a question:
I decided to try ubuntu (haven't yet) because of what I think is called the Gnome Desktop Environment, which from what I understand is what gives it all of those sleek animations and tab switcher and stuff. Am I correct about this? Or do all distros have this? I care a lot about aesthetics and stuff like that—the main reason I'm interested in Linux, other than learning about something new, is the idea of being able to fully customize the look and feel
You will be able to get GNOME as the default desktop environment in many distributions and then install what extensions you want to change both appearance and function: https://extensions.gnome.org/
Ubuntu is not even good in my opinion. At least not as a normie Distro.
Yes they have lots of docs online but "it is good because people think it is good" is not a good argument.
If you dont like GNOME I guess you will have a harder life anyways, as Distros with KDE are just a really hard task. Like anything stable is not a good idea, I at least reported 30 bugs that will never get backported fixes.
The fact that appimages are broken on Ubuntu is like the only thing that I completely understand and dont care about. Appimages needs to get their stuff together.
I hope many projects will convert from Appimage to Flatpak
The only clean living is BSD, in my opinion OpenBSD is the easiest. NetBSD prior to 10.x does not have SSL certificates preinstalled. FreeBSD needs you to manually install X. Both FreeBSD and NetBSD have a menu based installation, while OpenBSD is question-based, and their disklabel tool have automatic partitioning.