this post was submitted on 16 Jul 2023
356 points (92.4% liked)
Linux
48692 readers
806 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
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)