Basics



A distro (distribution) is a set of choices of layers/parts/policies, all packaged together under one label.

Some major distros: Debian, Ubuntu, Kubuntu, Linux Mint, Red Hat, Fedora, Arch, openSUSE.

Debian Family Tree (!)
Which is just part of a bigger GNU/Linux Distributions Timeline (!!)

Wikipedia's "List of Linux distributions"



Distro release policies:
[These blend together a bit, and terms may differ by distro.]https://github.com/castrojo/awesome-immutable
  • Rolling: constantly-updating, even across major transitions such as new release of DE. E.g. Arch; openSUSE Tumbleweed.

  • Periodic / Stable: won't automatically update across major releases of distro or DE. E.g entire Ubuntu family; Fedora; openSUSE Leap.

  • LTS: updates only for security holes or major bugs. E.g. Ubuntu family LTS versions.

  • Immutable OS: OS base packages are updated and frozen and tested as a unit; apps may be in containers and can get updated frequently. E.g. Fedora Silverblue/Kinoite, openSUSE MicroOS. Jorge Castro's "Awesome Immutable"




Bobby Borisov's "Linux Distro Types Explained: Originals, Derivatives, Flavors"
Venam's "Software Distributions And Their Roles Today"





Brief Looks



Jason Evangelho's "How To Test Drive 200+ Linux Distributions Without Ever Downloading Or Installing Them" (DistroTest.net; for me didn't work in Firefox, worked in ungoogled-chromium)



From someone on reddit 6/2020:
"openSUSE lets you try different DEs just by logging out. There's only one distro openSUSE and it comes with KDE, Gnome, Xfce, Enlightenment, Mate, LXDE, LXQt, and more."

If you just want a quick look at "tiling" in a DE, in GNOME you could try the gTile or zTile extensions, or Regolith. In KDE you could use the Bismuth extension of Kwin.



(On Windows:) Making Live session USB:
+/-
Create a bootable USB with N different ISOs on it: Ventoy (Windows and Linux)
SK's "Create Persistent Bootable USB Using Ventoy In Linux"
The Ventoy USB can boot in either legacy or UEFI mode, but not Secure Boot.

(On Linux already:) Making Live session USB:
+/-
Create a bootable USB with N different ISOs on it: Ventoy
(attach USB stick, umount USB, sudo sh Ventoy2Disk.sh -i /dev/sdX, sync, remove USB, attach USB, copy ISO to USB, remove USB, boot from USB).
SK's "Create Persistent Bootable USB Using Ventoy In Linux"
The Ventoy USB can boot in either legacy or UEFI mode, but not Secure Boot.

Installed Usb-creator-gtk through Software Manager. Shows up as "USB Image Writer" in the Start menu.

"Startup Disk Creator" app does not support persistence. "Usb-creator-gtk" app is same as "Startup Disk Creator". "USB Image Writer" app works if writing a new ISO to a USB that already contains a bootable image, but no persistence.

I think Startup Disk Creator only accepts Ubuntu derivatives ?

Installed the "experimental CLI" version of Etcher. Ran "sudo ./etcher -d /dev/sdb1 ../debian-live-9.5.0-amd64-lxde.iso". But it says device not found. Read something about maybe using GParted to wipe out the partitions, but I'm not interested.

Installed UNetbootin, via "sudo add-apt-repository ppa:gezakovacs/ppa", "sudo apt update", "sudo apt install unetbootin". "sudo apt install extlinux". Ran "sudo QT_X11_NO_MITSHM=1 /usr/bin/unetbootin". But no matter what I do, my USB's device is not listed in the pull-down. The device is /dev/sdb1, but I either get blank or /dev/sdb2.

Run Disks application (or gnome-disk-utility ?). Select the flash drive, select the first (bootable) partition, click the "gear" icon, select "Restore Partition Image", select your ISO. Works. If the partition is too small for the image, you can delete the partition in Disks, or you might have to do it in GParted. [How to get persistence ?]

Burned Mint 19.1 to USB with persistence: Used 4 GB USB stick. GParted to create an MSDOS partition table, then a 4 GB ext4 primary partition. Use UNetbootin, selected Mint 19.1 ISO that I had downloaded, set "space to preserve information across reboots" to 1024 MB.

Later started using Ventoy, it's the best for installing or (non-persistent) live booting.

Pradeep Kumar's "How to Create Bootable USB Disk / DVD on Ubuntu / Linux Mint"
UNetbootin (supports persistence)
Etcher (no persistence ?)
Ubuntu Wiki's "LiveUsbPendrivePersistent"





Choosing



Factors in choosing a distro:
  • Amount of support / popularity / community.
  • Performance / UI speed.
  • Look / UI beauty.
  • Stability.
  • Appropriate for your skill level and intended use.
  • Appropriate for your hardware.
  • Customizability.
  • Latest software.
  • Learning experience.
  • Security and privacy.



RenewablePCs' "Which Linux distros are the best?"
Gary Newell's "How To Choose The Best Linux Distro For Your Needs"
It's FOSS's "Explained: Which Ubuntu Version Should I Use?"
Adarsh Verma's "Top 10 Best Linux Distros For 2018 - Ultimate Distro Choosing Guide"
Adarsh Verma's "9 Most Beautiful Linux Distros You Need To Use"
RenewablePCs' "Desktop Environments for Linux"
Distro Chooser
DistroTest.net
Librehunt

Jason Evangelho's "Linux For Beginners: Understanding The Many Versions Of Ubuntu"
Gary Newell's "Ubuntu vs Xubuntu"
Canonical's "Ubuntu flavours"
Canonical's "Derivatives"
Ubuntu forums
Linux Mint Forums

Sense I'm getting from various places: Upgrading Ubuntu from one major release to another often breaks something; better to do a fresh install. But Mint doesn't have that problem, upgrades are smooth.



"Distros" section of my "Moving to Linux" page





Hate



You will find various people hating on various distros, for reasons good or bad:





My Impressions and Experiences



My quick impressions of other distros, from USB stick or articles:
  • Linux Mint 19 Tara MATE: looks pretty much like Cinnamon does. Did same with the Xfce version, same result. There are some small changes in the Start menu and System Tray and such, but no big obvious differences.
  • Peppermint: Uses Nemo, is based on Ubuntu LTS. GUI looks "rougher" than Mint's GUI, and a little cartoony, but it seems faster, and I like it.
  • Xubuntu 18.10, and I like it, crisp and seems fast.
  • Lubuntu, but didn't like it so much, not as much as Xubuntu.
  • Puppy Xenial: Cute, but UI a little odd, not in the Windows and Mint mold. Distro is some kind of hybrid of Ubuntu and Slackware.
  • Debian LXDE. Acceptable. A lot of apps installed that I don't want. Boot and shutdown show a lot of text going by.
  • Ubuntu: UI not particularly fast and not exciting.
  • Fedora GNOME: UI a little clunky-looking, not particularly fast and not exciting.
    If you want the very latest GNOME, you will find it on Fedora. Also tends to push the edge in other ways: e.g. Wayland, Btrfs, etc. article
  • Kubuntu 18.10: crisp; default text editor (Kate) is nice, polished.
  • KDE neon Plasma: ??? A rolling/developer distro.
    From people on reddit 5/2020:
    KDE neon is based on Ubuntu LTS and very similar to Kubuntu. The main difference is it gets KDE packages from KDE themselves. KDE will always be the latest and greatest.

    ...

    I prefer Kubuntu. I've installed KDE Neon twice but after 3-6 months dropped it for something else. Kept finding loads of random things stop working, like Wi-Fi would need me to disconnect and reconnect all the time, and X11 kept crashing. Unless you want to be on the bleeding edge of KDE, another distro might be best.
    KDE Neon is latest KDE on older kernel; Kubuntu is older KDE on newer but stable system.
  • openSUSE LXQt: couldn't get into a live session, ISO keeps booting into an installer no matter what I do.
  • I hear that Elementary OS is kind of locked-down, deliberately: it's hard to add packages.
  • I hear good things about Manjaro; I should try it. Fairly bleeding-edge; easier than Arch but less stable than Ubuntu. reddit thread




My experience:
+/-
I'm taking a slow tour of various distros.

Ubuntu family:
Used Mint Cinnamon 19.0-19.3 for about 20 months.
Then Ubuntu GNOME 20.04 for 5 months.
Then Ubuntu MATE 20.04 for 2 months.
Then Kubuntu 20.10 for 5 months.
Red Hat family:
Used Fedora 34 KDE for 5.5 months.
Arch family:
Used Manjaro 21 Xfce stable for 4.5 months.
Used EndeavourOS 2021.12 LXQt for 1 month.
SUSE family:
Now on openSUSE Tumbleweed KDE.


Gentoo family:
Calculate.
MocaccinoOS (formerly Sabayon).
br /> Slackware family:
Slackware current (article; no LVM/LUKS in installer)
Absolute Linux

Void Linux
Qubes OS, Subgraph OS.
Then who knows ? Pop!_OS with COSMIC DE. Elementary OS with Pantheon DE. Solus with Budgie DE. UbuntuDDE Remix. Bodhi with Moksha DE. Fedora Kinoite. NixOS. PCLinuxOS. Clear Linux OS. MX Linux (Debian-family; KDE ?). OpenBSD (has all the main apps I use except VSCode). FreeBSD (has all the main apps I use; https://github.com/tagattie/FreeBSD-VSCode ).

[Some other things I could "tour": apps in each category, themes, docks, more.]


[Some people say: keep / and /home on separate partitions, so you can change OS without changing /home. I do differently: one / partition for everything, but back up settings for some key big apps: browsers, email, RSS feed reader, password manager, IDE. When I do a fresh install, I fresh-install the apps, then overwrite their configs with my saved config files.]

[Note: Just before wiping the system is a good time to try some risky new thing you're curious about (e.g. SELinux, resizing a partition, in-place encryption/decryption, new bootloader, reverting system back to some filesystem snapshot, filesystem rebalancing, damage filesystem and then try using a rescue disk, update firmware). If it borks the system, no problem (except for the firmware case): you were about to wipe anyway.]


My quick summaries:
Note: I use the stock UI, with little customization. And I value stability and functionality far more than UI.
  • Mint Cinnamon 19: nice UI; sometimes bad handling of bug-reports.
  • Ubuntu GNOME 20.04: broken desktop; UI a bit clunky.
  • Ubuntu MATE 20.04: good.
  • Kubuntu 20.10: good, but Dolphin file-manager bad with smartphone, and there's a system-freeze bug.
  • Fedora 34 KDE: good, but had to switch from Wayland to X. Updates are daily and large and often force two OS restarts to apply ("systemd.offline-updates"). Some small glitches, such as dialogs not painting until I mouse over them, occasional crashes of something in the system. Crash-reporting seems not to work.
  • Manjaro 21 Xfce stable: mediocre, build from AUR usually failed, fair number of other glitches.
  • EndeavourOS 2021.12 LXQt: okay, build from AUR worked, fair number of glitches.
  • openSUSE Tumbleweed KDE: good, security choices get in the way in a few places.




Don't customize a lot or fork:
+/-
I use the stock UI of each distro, with little customization. And I value stability and functionality far more than UI. I don't load up with unusual CLI commands, or aliases, etc. So moving to another distro is easy, filing bug reports or talking to other users is easy.

I use several large mostly-cross-platform apps, which work equally well on any distro: KeePassXC, Firefox, Thunderbird, Visual Code, Liferea. So moving to another distro or even sometimes using Windows or Android is pretty easy. The downside is these apps usually don't obey the system theme settings.

I find that I can get my stuff done in any GUI or desktop environment; changing from one to another doesn't matter much. Partly that's due to the "large apps" strategy I mentioned above; something such as Firefox is pretty much the same in any GUI.

If something is broken or can be improved, try to get it improved for everyone, not just for you. File a bug report or code fix, or write a little extension and submit it to the extension store/marketplace.
Tobias Bernard's "Doing Things That Scale"



Do you want to use distro-specific apps ?:
+/-
The major apps I use are cross-distro: Firefox, KeePassXC, Thunderbird, VS Code, Liferea.

I don't want to use some DE-specific set of apps (such as KDE's Akonadi) and get locked in to one distro or DE.

Some smaller individual apps may be available on many distros. For example, I like the Pix simple-image-editor which comes from Linux Mint. It's available on many distros.



Distros with lots of installation steps or building from source:
+/-
Gentoo, Linux From Scratch (LFS), Arch.

Reading while laptop burns

Probably a good order to do them:
  1. Arch with installer.
  2. Arch without installer.
  3. Gentoo.
  4. LFS.
  5. LFS plus BLFS.

0xC0DECAFE's "Linux from Scratch - Is it worth it?"
comfies / tldrlfs







Miscellaneous



Security-oriented distros

+/-
  • Tails (The Amnesic Incognito Live System):
    A clean-boot OS, although you can have some persistent storage for your files.
    Main features: leaving no traces on your machine, using Tor/onion for everything, and additional security/privacy/anonymity settings.
    Intended to be booted from USB (needs 8+ GB USB drive), and not installed on your hard disk.
    Not intended as a daily-driver OS; it's for communications and some document-processing.
    Routes all network traffic through Tor/onion.
    Drops all UDP traffic; can't do it.
    Doesn't support IPv6.
    Debian-based.
    Tails

  • Whonix:
    Separates the network access from the rest of the system, using two VMs I think.
    Routes all network traffic through Tor/onion.
    Drops all UDP traffic; can't do it unless you install a VPN, which negates the value of using onion routing (for that traffic).
    Debian-based.
    Whonix

  • Subgraph OS:
    Routes all network traffic through Tor/onion.
    Subgraph OS

  • Qubes OS:
    Separates your apps from each other, putting each in a separate VM.
    Qubes section of my VMs and Containers page




Some people who review a lot of distros, giving very opinionated takes on them: Dedoimedo, Homo Ludditus.


How Ubuntu MATE distro is made:

+/-
Paraphrased from Martin Wimpress on Linux Downtime podcast episode 45.
  • There is a legal entity to handle tips/donations. One person handles the accounting etc for that. Other people do bug-triage, docs, web site, more. Docs and web-site are among the bigger efforts. Martin does some bug-fixing; maybe much of that is done directly into the upstreams.

  • Martin is a Debian developer and was a Canonical employee for many years, and was head of the Desktop group in Canonical for a while.

  • There is a package mate-desktop-environment and another dozen or more related packages in the Debian repos.

  • There is a package mate-desktop-environment in the Ubuntu repos.

  • The Canonical/Ubuntu build, source-control, and bug-tracking systems are used.

  • MATE maybe is the only Ubuntu flavor that included the chance for users to enable usage-reporting. Estimates are that about 150K people use MATE, more people use MATE than use any other flavor, and the user base of MATE is a "rounding error" compared to the user base of default Ubuntu GNOME.




BSD:

+/-
Jesse Smith's "BSD versus Linux distribution development"

From someone on reddit:
Support for newer hardware comes to Linux sooner due to companies contributing the support directly via paid employees. The BSDs do get the same support, but it's usually done by volunteer developers in their free time. The gap between hardware support is not nearly as big as some people might lead you to believe, but there is a delay.

Not all the software you might want to use has been ported over, but a lot of it has. All the usual desktops, browsers, video players, editors and so on are on BSD and work exactly the same. If you need docker, for example, there are sometimes comparable alternatives ... but not actual docker itself. [No Kubernetes either. No KVM virtualization.] If you need closed-source software like Steam, that would be another problem. Most things that most people use on Linux have been ported to BSD. It just depends on your individual use case.

One area that's not so obvious is all the CPU vulnerabilities. On Linux, these are fixed basically the same day they're discovered. Companies have these embargoes and their paid developers get the fixes into Linux right away. With BSD, not so much. In fact none of the BSDs have fixes for the Spectre-BHB flaw yet [5/2022]. This is really unfortunate and I wish companies like Intel and ARM would work with them to get these awful security bugs (that are entirely THEIR fault, not the operating system's) patched in a timely manner.

...

FreeBSD is not binary-compatible with Linux, but it has a Linux "emulation layer" that allows some Linux binaries to run on it. Much like WINE and Windows binaries, things are kinda hit or miss with regard to functionality. But it will work for some things.

"Someone once recommended to me that to learn networking I would get a lot more out of starting with BSD because of how much simpler it is than all the weird configs and tools Linux networking has accumulated."

"... FreeBSD and OpenBSD aren't different distributions of BSD ... They're each distinct operating systems with their own kernels and sets of pros and cons, ..."



At a gravesite, saying I use Arch BTW