Parts of a distro

I only really discovered Linux last summer but have been really enjoying my experience so far. I know I'm not the first person to observe this, but one of the things that stands out is the sheer number of different distros out there. My question is this: what are the essential parts of a linux distro? A follow-up question would be to ask for a simple breakdown of the differences between the likes of Debian, Ubuntu, Linux Mint/Pop_OS!/Zorin, i.e. what did the Ubuntu developers not like about Debian that they felt they needed to build Ubuntu? What elements of Ubuntu are the Mint/Pop_OS!/Zorin developers changing to build their own distros?

I'm not a particularly techy person, so please keep any explanations idiot-proof!

Well you need to go back to 1983. Richard Stallman was working on GNU (Gnu Not Unix) for his Hurd OS but had not developed a kernel. Fast Forward to 1991 when a young 21 year old called Linus Torvalds had written the Linux kernel whilst studying Minix. The first GNU/Linux made widely available and still present today was Slackware. The Enterprise players comprised of Red Hat, IBM, and Novell, creators of SuSE Linux. There was an alliance formed between the big players to fend off any attacks from Microsoft, but sadly the first to fold was Novell who made a deal with Microsoft that it would not seek legal redress of Microsoft stealing their IP on Novell Netware if they did not pursue legal redress on Novell promoting GNU/Linux (SLED - SuSE Linux Enterprise Desktop). We need to remember that the big players were mainly involved with Server Software. It wasn't until the late 90s and early 00s that GNU/Linux became pushed as a possible replacement to Windows. Debian was initially developed by Ian Murdock, it got it's name from Deborah, a waitress in a Coffee bar that Ian Murdock married. Debian uses .deb packaging. The main alternative packaging system was .rpm (Redhat Package Manager) used by Red Hat, the community spin, Fedora, Mandrake (later Mandriva), PCLinuxOS, and SuSE Linux. This caused a bit of an issue when some applications were only available in .deb format and others in .rpm format. There were two packages that dealt with this issue. If you really wanted that game only available in .rpm format you had to use the command line with a package called 'alien' which is still available. Conversely if you wanted an app only available in .deb format, then you again used the command line with a package called 'worm'. These are the two mainstay versions of GNU/Linux, Red Hat (now owned by IBM), and Debian. Things took a turn for the worse when an employee, Herr Poettinger, wrote systemd. Red Hat being a heavyweight in the Linux world aggressively promoted that systemd should be adopted by all GNU/Linux distributions. Historically, Debian was one of the first to adopt systemd. So what is systemd? It is basically a goo ball that checks everything before a system boots, and repaced a simpler boot system, SysVinit. This caused a major rift in the Debian Developer community to such an extent that a majority of Debian developers left to form Devuan. This OS uses .deb packages, but uses SysVinit instead of systemd. Ubuntu (translated means "I am, because you are"). The person behind Ubuntu is the South African billionaire Mark Shuttleworth who owns Canonical, the company behind Ubuntu.
Debian a few years back wanted to create a Debian consortium and invited different distributions using Debian in one form or another to join. Ubuntu declined. Having seen a promotional video by Mark Shuttleworth, to me he poses himself (it's the way he comws across to me) as the Steve Jobs of the Linux world. Conversely, Red Hat has always wanted to be the Microsoft of the Linux World. So we have various distributions using either Debian or Red Hat as their base. We then have off-shoots called 'forks' some being a hybrid of Ubuntu and Debian, such as Linux Mint, FerenOS, and early versions of Lindoz. Ubuntu I feel does the GNU/Linux community a disservice. If you boot a current version of Ubuntu it haughtily claims 'Ubuntu with Linux'.
Mint fell out with Ubuntu when Canonical threatened distributions with not having access to their repositories if they included Flatpak. So Mint tends to be primarily Debian based of late. All distros are trying to make themselves the distro of choice. In my early years of GNU/Linux I became a big fan of Freespire, the community edition of Linspire, as it was (to me) the best OS for migrators from Windows. When Michael Robertson betrayed the Linspire board, selling it off to Xandros I was deeply disappointed. In my search to find an OS to take its place I stimbled on Zorin OS 4. Zorin was gobsmackingly the real alternative to Windows. Within 6 weeks of contributing to the forum I was given the honour of becoming a moderator. Later I wrote Unofficial Manuals for Zorin 12, 15, and now 17. With regard to Pop!OS this is the Linux hardware manufacturer's System 76 baby and written specifically for their hardware. It uses Ubuntu as its base.
Now in addition to the different packages, there are different Desktop Environments and Window Managers. We have budgie, Cinnamon, Enlightenment, Gnome, KDE (Plasma), LXDE and its successor, LXQt, xfce, iceWM, fvWM. To me Zorin Core offers the best transition experience for Windows users. I believe the problem Team Zorin now face is where Gnome DE is going based on comments in another thread. Gnome devs think they know better than GNU/Linux Devs and Users, and would rather users and Devs think like they do, a bit like Microsoft, replacing your freedom of choice with their dictats. For me I no longer use Zorin as a daily driver. (Haven't done since Zorin 15 after I became aware of the issues around systemd). My vuurrent daily driver is PCLinuxOS Debian edition, with KDE Plasma, no systemd and just as important to me, no pulse audio, also created by Herr Poettinger (who now works for Microsoft!)

I may be missing some details, but the most notable things I noticed that Ubuntu tried to improve from debian are:

  • More up-to-date packages: While Debian stable tests packages first and includes them on the distro once they are stable enough, Ubuntu instead includes the newest available (without being too bleeding-edge) and fixes the problems later.
  • Custom kernels: The kernel that debian uses is the newest LTS from the time the debian version released. As of now, that means 6.1. That was quite new back then, but since then a few releases happened and now we are at 6.13, with debian's kernel being a bit old by now, not too old, but enough to make a lot of newer hardware unsupported or not as performant as it could be. The backports help solve this, but requires manual set up. Ubuntu instead uses newer kernels out-of-the-box and upgrades them to newer versions within point releases instead of only during full releases. And to that they add their own modifications to improve performance (not sure how much though, havent checked)
  • Having control of the repositories also means they get to have more available software, in case someone considers the options on debian limiting

As for forks like Zorin and PopOS that don't do such drastic changes, they focus more on making the system look more appealing and adapt to people with different preferences: Ubuntu, PopOS and Zorin (and Debian as one of the options) all use the gnome desktop, but each distro makes it look different with their own changes. As for Linux Mint specifically, on top of the desktop environment, they also try to replace the native apps that have been replaced with snaps by ubuntu, with native apps again.

1 Like

So if I'm understanding this correctly, a distro is largely made up of the kernel (different distros will use different versions, but it's all the same kernel), a package manager to handle the distro's preferred format for the software, and a desktop environment? Is there anything else, or is that disappearing down a very technical rabbit hole?

1 Like

Kernels can differ too! There can be special ones that are not stock kernels, such as the one my PCLinuxOS Debian uses, liquorix. Older kernels help for older machines, whereas the latest machines need the latest kernel for the latest hardware. The kernel contains hardware drivers, whereas GNU, the OS, holds the applications.

1 Like

Kernels are actually one of the more user changeable parts of a distribution, too. I'm not running Zorin right this moment for a reason related to that, but prior to my hopping to Nobara, I was running Zorin with the 6.12 Xanmod kernel, which is a newer kernel than Zorin itself comes with.

(Zorin didn't like kernel 6.13 in combination with the latest video drivers, so I hopped to Nobara, where 6.13 and latest Nvidia drivers are the default. This is what I meant by being user changeable, but it's not without risks.)

1 Like

Pop! OS will change that, they develope Cosmic to replace gnome.

2 Likes

Go Pop!

Just to add for clarity, whilst Debian's default DE is Gnome, it doesn't have to be:

https://wiki.debian.org/DesktopEnvironment

In the same way, Devuan does not have to be installed with the default xfce DE. The alternatives available are Cinnamon, KDE, LXQt and MATE (MATE is a continuation of what used to be Gnome 2.x, similarly, Trinity Desktop Environment is a continuation of what KDE was prior to Plasma).
Devuan is one of the few distributions that still support 32-bit architectures and a choice of different inits to systemd which will never be present, thankfully.