Linux Distros I Tried

Foreword

It’s not titled GNU/Linux Distro 101 cuz I wanna try out BSD ones too.

The List

  1. Ubuntu LTS 16.04-22.04 (Server)
    • an ideal distro for beginner
    • offer more recent version of packages than Debian stable1
    • snapd is not bad, but prioritizing it over standard dpkg is
    • Canonical has a mixed reputation
  2. CentOS (Server): not appealing for me at the time
  3. Debian 8-11 (Desktop/Server/WSL/ARM)
    • Rock solid, it’s known as install & configure it once then use it forever™️
    • De facto base for many many distros (and one of the few ones with ARM support before)
    • Stable can have obsolete packages (not updated/only security update for 2 years, which is the usual Debian freeze/release window) even if backports exist
    • Testing (w/ security updates from unstable) is super stable AFAIK
    • Many useful packages tied to Debian ecosystem (apt-listbugs/apt-listchanges, command-not-found2, debsecan, snap etc)
  4. Armbian (ARM): just Debian
  5. OpenMediaVault (ARM/NAS): buggy on my machine™️
  6. openSUSE Tumbleweed (LiveCD/VM): I even got some packages on Debian from SUSE, zypper is just like apt, and that’s all I remember
  7. Fedora Workstation (LiveCD/VM): bleeding edge, BTRFS and said to be used by Linus Torvalds
  8. Mint (LiveCD): don’t use the MATE one, it’s ugly
  9. Kali (LiveCD/VM/Termux/ARM)
    • Rolling release kinda sucks, but is bearable and magically hardly breaks
    • Just work out of the box in LiveCD, x86_64 & arm64 installation, even Termux via PRoot
    • Good at aesthetics, fuck Debian Xfce4
  10. Tails (LiveCD/VM)
    • Anonymous yet ugly
    • Has a monthly report and is open to the spending of donation, so shut up and take my money!
    • Used by Edward Snowden
  11. Arch / Artix (VM/WSL)
    • every time I run sudo pacman -Syu, Arch/Artix breaks :) That’s 3 times in a row already
    • I tried a 4th time (this time with Artix-openrc) after the initial draft of this writing, after pacman -Syu the system shows me pacman: /usr/lib/libc.so.6: version GLIBC_2.36 not found (required by /usr/lib/libexpat.so.1) :)
    • PS: Artix is just Arch sans SystemD
  12. ReactOS (LiveCD/VM): Windows 2000
  13. KDE neon (LiveCD): latest KDE
  14. Raspberry Pi OS (Desktop/ARM): why not Debian, at least it uses 64-bit by default for my arguably powerful rpi4 8GB edition
  15. Alpine (Docker/VM): lightweight, security-wise, embed IoT…and Docker
  16. Deepin/UOS (VM/Desktop)
    • resource-heavy, but offers quite a few Chinese exclusives
    • fake it till you make it™️
  17. Lakka (Switch)
    • basically just RetroArch with everything ready (except Chinese support)
    • built-in CPU/GPU overlocking for Switch is really convenient
    • network never works under WiFi with hidden SSID
  18. Trisquel (LiveCD/VM): The chosen one by Richard Stallman
  19. Parrot OS (VM): not ready yet
  20. ravynOS : FreeBSD, Wayland and macOS
  21. Devuan (WSL)
  22. Redox (LiveCD): Linux but in Rust, fairly minimum (76 MB for LiveCD is black magic) and lacks feature
  23. Linux From Scratch (LFS)3 (fuck user case, I build it myself)
    • Do everything from scratch is not funny, but extremely tiring
    • Getting it done is a great achievement
    • Fuck Arch, LFS is better for learning Linux
  24. Gentoo WSL
    • Compile it yourself™️
    • Updating could take ages and has soft ban on IPs with frequent update query
    • Installing a moderate (22 MiB, it’s bottom) package requires at least 11528 MiB disk space (it’s rust toolchain) is a stupid idea, really
  25. VoidWSL (glibc variant, so far the best fit)
  26. NixOS-WSL
    • Interesting package manager, easy to fix when broken
    • Highly tied to SystemD but that’s fine for desktop
    • Awkward wrapper to start SystemD in the WSL derivation
  27. ManjaroWSL25
    • Arch for dumb (or tired Archer)
    • It doesn’t break after I type sudo pacman -Syu, deals done :)
    • I used to maintain MalayaWSL (forked from the legacy ManjaroWSL), but the author (finally) gained permission from Manjaro team
  28. SystemRescue (LiveCD/Server): Not so small but get the job done
  29. SlackwFareWSL2 current
    • long-living and old-school (not so much on 15.0+)
    • Slackpkg is really interesting
      • It does not handle the dependencies for you, you have to look up the missing library using slackpkg file-search(just like command-not-found on Debian / tlmgr search --global --file in TeXLive), and install it yourself
      • This sounds scary, but in this way you can choose to install the exact dependencies you want instead of a default full/minimum package other distros may offer, while at the same time you are the one to do the research and make sure you don’t get trapped down the rabbit hole of unnecessary or even unsafe dependency 6
      • That being said, installing a gigantic package like ffmpeg or imagemagick would cost pretty much time, I even wrote a template for this to ease the pain.. There is also slapt-get which emulates apt-get, but that’s not my type
    • somewhat the true/vanilla Linux as it prefers simplicity over convenience and offers little/no patch to upstream software, which makes the learning curve a bit steep but running software as designed makes the system behaves in a predictable way
  30. ClearWSL 7
    • system as software, and optimization of, by and for Intel®
    • really fast, and lacks a lot packages
    • swupd is surprisingly useful
      • Has built-in command-not-found hint for common package: type zsh returns To install zsh use: swupd bundle-add zsh
      • The hint even works for similar command on other distros: type apt returns The command apt is not available, consider using: swupd
      • However, the package search feature is kinda buggy
    • the repo I intended to use has not been updated since 2020, and use obscure env.sh instead of standard Makefile, so I implement it myself (and fully automated it)
  31. Fatdog64 Linux (LiveCD)
    • Derived from Puppy but now based on LFS & BLFS
    • Really follows Puppy spirit: small, fast and efficient. It has but only common programs like browser, email client, GIMP, LibreOffice etc., but also less used ones like CD ripper/burner, MTP/SMB/BitTorrent clients, and even comes with four games (including classics like Tetris and fun variants like Space Invader 3D), yet keeping the ISO at a reasonable (600MB) size
    • UI is notably worse than Puppy while the latter is nearly half the size, making tradeoff not quite an excuse
  32. FuntooWSL
    • Gentoo enhanced, Wolf Pack Philosophy is interesting too
    • Sadly no rootfs for newer gen Intel CPU, so I have to use Generic 64 one and suddenly this makes no difference (and possibly worse) from Gentoo even if I follow Funtoo philosophy and agree on their No Need for Make.conf Hackery statement
    • Messy Documentation: link rot, endless redirection, deprecated yet not migrated page etc. But Funtoo Linux Installation Guide, Emerge are my friends

Another List to Try & Why

Sorted by preference:

  • Guix on WSL2
  • PopOS: by System76 and maybe clutter free
  • Whonix: another anonymous solution
  • Qubes OS: yet another anonymous solution
  • Vanilla OS: interesting package manager, which can install Ubuntu, Fedora, or Arch Linux packages inside containers
  • Bedrock Linux: a meta distro, which allow mix of incompatible distributions by layers. Were I to use it, maybe I’d maintain a BedrockWSL based on bedrock-wsl
  • OpenBSD: it’s BSD
  • BlackArch: pentest, with Arch

Slackware Dependency Tracking Template

# Some command not working
$ ffmpeg
ffmpeg: error while loading shared libraries: libglslang.so.11: cannot open shared object file: No such file or directory

# Grab all missing libraries
libb=$(ldd $(which ffmpeg) | grep not | sort | uniq | awk '{ print $1 }' | cut -f2 -d"=" | awk '$1=$1' ORS=' ')
for i in ${libb[@]};do (slackpkg file-search $i | grep slackware64 | cut -s -f1 -d"-"); done

# Install dependencies
sudo slackpkg install xxx yyy zzz

Last Words

Welcome to the Desert of the Real!


  1. In fact, Ubuntu takes packages from Debian Unstable (Ubuntu LTS based on Debian Testing). You can confirm it from Ubuntu Packaging Guide by searching sid (Debian Unstable codename) or unstable ↩︎

  2. While command-not-found is a Debian-like exclusive, ohmyzsh provides command-not-found plugin that works on other distros like Arch, SUSE, NixOS, Fedora & macOS (Homebrew) as well ↩︎

  3. I wrote a separate post for this, see Linux From Scratch (LFS) 编译记录 ↩︎

  4. You can read further by checking Void Package Contribution ↩︎

  5. I wrote the detailed process to Revive ManjaroWSL in another post ↩︎

  6. You can learn more about this interesting dependency tracking method and Package and dependency management shouldn’t put you off Slackware on Slackware Docs ↩︎

  7. This is Clear Linux OS backed by Intel. Not to be confused with Clear OS, which is a completely different CentOS/RHEL-based distro ↩︎

Vinfall's Geekademy

VENI VIDI VICI