this post was submitted on 16 Jul 2023
354 points (92.3% liked)
Linux
48017 readers
1014 users here now
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I really wish the Linux community would do a better job of separating the software updates from the core operating system and user space apps. I feel like most distros do the 'move fast and break things' approach, even if that isn't what they intended to do. I forget which distro it was, but they tried replacing X11 with Wayland way before the other distros, and IIRC, they had to revert everyone back to X11. This type of thing cannot be managed by regular users.
Imagine if you had to understand how 90% of every car part worked in order to drive a car, and if you don't understand something you ask for help and everyone ridicules you because they are mechanics.
You can accomplish this with something like Debian stable and Flatpaks. OK, but now you have to explain these concepts to people, too 😆. It works great but it's not quite user friendly. Ubuntu gets dunked on a lot for Snaps but I think they are actually the one mainstream distro that is trying to make Snaps as transparent for users as possible, thereby achieving the goal of separating the core operating system from user applications. Though I still prefer Flatpaks.
I've been using linux since 98 and have no idea what Flatpaks and Snaps are. I guess I need to read up on them.
Both are similar, and the very short version is they are sandboxed applications that bundle their own dependencies and can update out of band with your distro's software repository. With Flatpaks they can share a common runtime environment, but I think with Snaps they bundle everything into the snap (I might be wrong about this).
One key difference is that Snap is basically only on Ubuntu, and Snaps can also bundle CLI applications or server software. Flatpaks are currently really meant for desktop applications.
In both cases you can modify the permissions of the the programs they bundle sort of like how you might expect on iOS or Android. That is to say you can restrict their access to the file system, the network, or other things. So, as an example, I can run a proprietary program as a Flatpak but ensure it cannot access my Bluetooth if for some reason I feel that need.
To expand on why snaps are Ubuntu only is because the back end for snap distribution is proprietary.
Problem: Every major distro has its own unique package manager; dpkg/APT, rpm, yum, pacman etc. It's a nightmare to package apps for Linux, so let's make one universal standard package management system.
Three or four independent projects: Okay, here you go!
Problem: Every major distro has its own unique package manager, and there's three different incompatible universal ones and because one of them is made in-house at Canonical none of the three are supported out of the box on every distro.
Arch users: muh AUR.
Flatpak allows you to package your app once and make it available on at least 36 different distros
[0]
(if not hundreds more if you count their spinoffs). See the list of available packages at flathub[1]
. Read more about Flatpak in general here[2]
.[0]
https://flathub.org/setup[1]
https://flathub.org/[2]
https://flatpak.org/It is amazing how 3 steps can be challenging for some even though these are explained in flathub (for all major distros) 1- install flatpak which should install a pluging for gui Package manager automatically. 2- add flathub repo. 3- Configure your gui package manager to default to flathub 4- enjoy installing rhe latest software from flathub without even needing root password (except for Opensuse TW)
I think that is the route we are heading with flatpaks.
You can save yourself from reinstalling over and over by using an immutable distribution so at any point you will know what changed in your system and if it breaks you can just roll back to the previous working point and either fix your mistake or wait for a fix from upstream when an issue happens there (this year there were a few kinda major hiccups on Fedora for example).
I suggest you try one of the Fedora immutable spins (Silverblue, Kinoite, Sericea) or Vanilla OS, though I would hold off from it until Orchid comes out.
If you want to go all in you can use NixOS, but it takes a lot of reading
I'll have to try one out just so I understand how they work, but I don't personally need something like this. I've used Gentoo, Fedora, Slackware, Ubuntu/Debian, Arch, and more for years.
Yeah, actually I don't know how I ended up responding to you, I have since deleted that comment, I meant it for the OP.
Aside from that, when you're as experienced as you, you generally don't end up breaking your system anyway, if one really wanted I think the real good thing to do regardless of distro would be using one of the few packaging solutions that are siloed from the rest system
haha, it only that were true :P