A Linux Distribution, often shortened to Distro is an implementation of Linux.
Many things are included in a distro, but the primary starting point is a disto's repositories and package manager.
What is a repository? Repositories or repos are internet hosted locations to download packages for a distro. Packages are things like applications or utilities. If you need to install an application like Gimp, there's likely a package in the distro's repos named Gimp. Once installed, the package manager will be able to update Gimp when new updates are pushed to the repos. Think of the repos as almost a library of packages.
So, what’s a package manager? Package Managers use the repos to update a distro as well as install new packages. They also assist with things like package dependencies. For example, OBS Studio requires requires 27 dependencies in Arch Linux. The list here, is what OBS Studio needs to run successfully. Thus when installing OBS Studio in Arch Linux, the package manager will confirm the dependencies are present on the machine and if not, download them as well. Some of the big package managers are: Apt, Pacman and DNF. There are others out there too.
The cool thing about a distro is you can change many different aspects about it to fit your needs. You can even do things like install other desktop environments or Window Managers. However, the package manager is one aspect you’re stuck with. Though certain distros are working to change this, but that’s a discussion for a different video.
But why so many distros?
A full answer to this question will be covered in a future video, but the short answer is:
Because someone felt a need to create the distro. Maybe they didn’t find one that fit their use case. Then we have distros like Hannah Montana Linux, why does it exist? Your guess is as good as mine.
What are the major distros?
There are four main families of distros for our discussion:
- Arch - package format… package, package manager is pacman
- Debian and Ubuntu - package format is deb, package manager is apt
- Red Hat/Fedora - package format rpm, current package manager DNF, previously they had YUM
- Suse (mostly in the form of OpenSuse for home users) - package format rpm, current package manager zypper
If you’re finding value in this, consider supporting the channel by subscribing, liking the video. If you want more Linux fun and tips, considering signing up for my newsletter, link in the description and pinned comment.
What are the differences in distros?
The differences in distros can vary widely. Some are close enough that support articles from one can easily be used for another. Other times it may take some translation to make the same set of steps work. Other times, the distro may require an entirely different approach to accomplish the task.
Distros in the same family generally have more in common than those that aren’t.
Something else you may hear about a distro is if it’s rolling or stable. This indicates how many updates a distro gets and the type of updates.
- Stable releases, sometimes also called point releases, generally release a new version every x months. Some common examples of stable distros are Ubuntu, Debian, Red Hat Enterprise Linux, Open Suse Leap. Generally stable releases will receive less updates. The updates they do get will be more focused on security.
- Rolling releases meanwhile generally don’t have version numbers. New isos are put out to cut down on the number of initial updates needed. The idea behind a rolling release is you get many more package updates, even potentially breaking changes These will generally take more care and maintenance to handle.. Some rolling distros do a bit more testing before release and others do not. Major application updates, updates to the desktop environment, updates to the kernel, and more are generally included. Maintaining a rolling release can be more difficult than a stable release.
Immutable distros have become more popular in the last few years. Distros like Nix OS, Fedora Silverblue and others approach things a bit differently. The basic idea is you have a core that’s immutable, no changes can be made to it by the user. All user changes like installed applications are put on top of the unchangeable core.
Updates to the core are handled separately. Installed Packages can be updated independently as they will not affect the core of the distro.
Immutable distros can be great for certain use cases, though they can have downsides.
Hopefully you have a much better idea about what a distro is. What other questions do you have about distros? Are there any other questions you have about getting started with Linux? Feel free to sound off in the comments below!