this post was submitted on 22 Jun 2024
600 points (97.8% liked)
Linux
48287 readers
647 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
Still no proper way to mirror the thing and have it working offline / on internal networks. Great job self-hosters and sovereign citizens ;)
Offline/internal network installs can be handled with
flatpak create-usb
- https://docs.flatpak.org/en/latest/usb-drives.htmlCache/mirroring would be great for those who need it.
Edit:
Thinking about it, I wonder if there's enough "core features" with 'create-usb' that its just matter of scripting something together to intercept requests, auto-create-usb what's being requested and then serve the package locally? If a whole mirror is required, it may be possible to iterate over all flathub packages and 'create-usb' the entire repo to have a local cache/mirror? Just thinking "out loud".
The issue is that... there aren't enough “core features”. It doesn't even handle different architectures and their dependencies correctly. It wasn't made to be mirrored, nor decentralized.
Apt for instance was designed in a much better way, it becomes trivial to mirror the entire thing or parts and for the end tool it doesn't even matter if the source is a server on the internet, a local machine, a flash drive or a local folder, all work the same.
Apt is a package manager. Flatpak is an app format that happens to have a package manager. It isn't designed to manage a OS.
Flatpaks are not centralized, Flathub is. You can have your own repo.
Yeah sure, just try to mirror Flathub into your repo.
I don't get it. Why would you store all of it? I mean, you can but... why?
Because...
For what's worth Debian archive repositories are about 5 TB and people actively mirror then in universities, companies, cloud providers etc.
The question here isn't "why would you" but rather "why would I be unable to do it". Their actively gatekeeping their repository in a futile attempt to be the single and central point of flatpak distribution - much like what Apple does with the App Store.
You can but there would be little point. Fedora has its own repo for instance.
You absolutely can as Flatpak can run completely local. You can create a custom repo if you want.
Did you ever try doing that with public packages?
You can but I wouldn't
It's a fun exercise for you to see how convoluted and problematic it becomes.