this post was submitted on 30 Jul 2023
27 points (90.9% liked)
Linux
48031 readers
797 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 agree "cloud native" is not great, I won't be using that term.
Why are cli tools generally not available as flatpaks? There's nothing about how flatpak works afaik which distinguishes gui and cli. I get that the original motivation for flatpak was guis, but considering how long it's been touted as a "universal" package manager for linux, I don't understand how there could be so few clis.
I've heard people say the name for packages from flathub is awkward (which it is), and aliasing everything you install would be annoying (which it would), but that sounds like such a simple problem to solve.
I've also heard people say that flatpak clis would be useless because clis tend to be systadmin tools, and thus need to be not sandboxed. But this strikes me as a non sequitur. Gui tools can be used for sysadmin, and there are tons of cli tools which have nothing to do with sysadmin, they're just userspace programs.
What does your workflow look like with toolbox/distrobox?
Hi! I made the video and also happen to volunteer with flathub. The reason I've called it "cloud native" is because that's the common term used in the industry already and server people know what that means. "Immutable" is a terrible term that is neither technically accurate or something users need to care about.
As for the CLI thing. Shoving CLIs into flatpaks could be a thing but that wouldn't really solve a problem, it would just mean adding one more ocean to boil and someone would have to volunteer to package htop for the 30th time. There's no need to do that, distros already have htop!
It's a better time investment to fix the UX for containers on the desktop, especially since Mac and Windows are already there. :-/ There's a few options that people are exploring that are worth discussing.
I personally use distrobox with the assemble pattern to have what I need on all my machines, but hopefully as time progresses distros will do a better job integrating all this stuff. I hope this helps answer some of your questions!
Thanks for the response! Flathub is a fantastic project so glad to hear about your contributions. Your videos have been helpful for me as introductions to Silvelblue ideas and statuses.
I don't have much to say about the term "cloud native" personally, it doesn't seem too important. I think myself and others react against it because cloud tech is mostly used by businesses and "server people" to deliver products (sometimes at the cost of user freedom), and so has either a non or negative connotation in the FOSS linux desktop space. But names are names, and accuracy matters most. I don't think etiher "cloud native" or "immutable" are really all that helpful as technical terms though, maybe something else should be used (image based, atomic, container centric, ?).
I'm not sure I understand "distros already have htop." Distros already have everything packaged for flatpak, yet they were packaged for flatpak. The real question is why do flatpaks exist at all if you can just run programs in containers, OR why do containers exist at all if you can just run programs as flatpaks (assuming everything we wanted were available as a flatpak). That is: what are the technical / UX reasons to choose flatpak over containers and vice versa?
Podmansh looks very cool! That's definitely the direction I'd like to see these sorts of projects moving in. The #1 issue I have at the moment with this OS model is customization/tinkering/hackability. I want to have the niceties of atomic updates and reproducible builds, and containers on their own are great. But not if it takes away my ability to make my system fit my needs. I have no interest in using a macbook.
The future of these technologies looks bright, and they are clearly functional today, but I'm not sure any of them meet my needs yet as someone who likes to have a great deal of control and understanding of my system.
flatpaks and containers use the same kernel tech underneath, cgroups and namespaces, it's just a specific implementation designed for desktop apps, and it has things like portals and stuff that's specific for gui apps. So for example, if you use silverblue, you use htop, but it wouldn't make sense as a flatpak when there's a full fedora installation delivered via a container already on your desktop, you'd just dnf install htop and move on.
This is the problem with the term "immutable". For some reason people seem to think that these systems take away configurability and freedom to tinker, which is wrong because the entire point of cloud native is composability. You declare what your system is supposed to look like, and then a deployable artifact comes out the other end, that's pretty much it. Hope this helps!
I think flatpak could perfectly fine for installing cli applications even though it is designed for desktop applications.
Flatpak is distribution independent, which means, it could be actually reduce repackaging.
While that is true, I don't see, why this is a problem for CLI applications to be installed and run via flatpaks.
Can you explain, why this works better, than flatpaks? I mean it does not matter what flatpaks were intended for originally, if they do the job just fine.
I found this approach lacking, because:
dnf install foo
in a bashscript. Controlling a container via bash is not that easy (or, I don't know how it works)