Skip to main content

in reply to TCB13

Unmirrorable? The whole thing, including the configs are open source?
in reply to OsrsNeedsF2P

Unmirrorable


Yes, unlike apt repositories, it wasn't designed to be mirrored around, run isolated servers etc.

in reply to TCB13

Flatpak was designed to be decentralised, Flathub is just the main repository offering flatpaks and yes, probably 99% of all Flatpak applications are downloaded via the main repo but it is technically possible to just launch your own if you are unhappy with the main repo. The Flatpak team literally has this info page for hosting a repository

I for example, am taking AAGL from their own flatpak repo because they are not offering their launcher via the main one (even tho they also tell you to link the main repo - I guess for dependency reasons - but theoretically you could open your own repo and throw all dependency related packages in there or am I getting something wrong here)

This entry was edited (8 months ago)
in reply to Zyratoxx

I agree with everything you said, however there are a few details.

it is technically possible to just launch your own [repo]


The ability to create repositories from mirror existing ones.

Unlike apt repositories Flatpak ones aren't simply a directory tree with a bunch of files that can get mirrored using rysnc or other efficient means, it's a clusterfuck of HTTP-only requests that need to be backed by specific metadata and there aren't tools to manage those.

flatpak create-usb may be promising but the name says its all - the priority wasn't to create a way to mirror repositories but a quick and dirty hack for some situation.

theoretically you could open your own repo and throw all dependency related packages in there or am I getting something wrong here


Theoretically yes, in practice things are bit more nuanced. That tools only considers your current architecture, it's a pain to get dependencies in an automated way and most of the time you'll end up with broken archives. You'll also need to hack things a lot.

in reply to boredsquirrel

Flathub is not the entirety of Free World, just a little small slice of the pie. You can say Flathub is quite centralized. But our Free World have so much more. Every country will have a certain focus of what is freely available. It's an optional server and package format. You are free to install it or use another free package. Nothing crazy here.
in reply to mr_MADAFAKA

North Korea: 316 downloads


Interesting...

In all seriousness, in both my home country and the country I live in, the number of downloads surpasses the population numbers which is kinda insane.

in reply to theshatterstone54

It could be simple download requests, rather than MAC or IP address downloads.
This entry was edited (8 months ago)
in reply to theshatterstone54

I think they count every download of every package, every version, every time. It's not the number of unique users or even packages.

If you install 3 apps you might need to download 3 versions of graphics driver, 3 versions of desktop environment libraries and so on, It won't count as one user installing 3 apps, it will show up as 10 -20 downloads. And that's just the initial install, every time you update them it counts another 10-20.

in reply to mr_MADAFAKA

Still no proper way to mirror the thing and have it working offline / on internal networks. Great job self-hosters and sovereign citizens ;)
in reply to TCB13

Offline/internal network installs can be handled with flatpak create-usb - docs.flatpak.org/en/latest/usb…

One can distribute flatpaks along with their dependencies on USB drives (or network shares, etc.) which is especially helpful in situations where Internet access is limited or non-existent.


Cache/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".

This entry was edited (8 months ago)
in reply to ᗪᗩᗰᑎ

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?


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.

in reply to TCB13

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.
in reply to TCB13

Flatpaks are not centralized, Flathub is. You can have your own repo.
in reply to warmaster

Yeah sure, just try to mirror Flathub into your repo.
in reply to TCB13

You can but there would be little point. Fedora has its own repo for instance.
This entry was edited (8 months ago)
in reply to TCB13

I don't get it. Why would you store all of it? I mean, you can but... why?
This entry was edited (8 months ago)
in reply to warmaster

This entry was edited (8 months ago)
in reply to TCB13

You absolutely can as Flatpak can run completely local. You can create a custom repo if you want.
Unknown parent

lemmy - Link to source
thingsiplay
the bullshit of corporate-hijacked open-source.


???

in reply to mr_MADAFAKA

The tone here is surprisingly negative. Personally I'm happy with the efforts of the Flathub team 🤷
in reply to TheGrandNagus

As a newer Linux user I really like flatpaks.

I don't use them for most things I install but proprietary apps I want sandboxed or programs that have weird issues with dependencies I grab the flatpak.

in reply to TheGrandNagus

Agreed, flatpaks are great for desktop apps. I use Nix for the majority of my packages, but I use flatpak for proprietary for the sandboxing.
in reply to priapus

I honestly prefer Ansible. It can do lots of configuration and setup and install flatpaks.
in reply to Possibly linux

I honestly prefer Ansible.


I use Ansible all day. For work. Oh, god, is it sad compared to everything else in the space. RedHat had the choice between two in-house products and they chose poorly.

It can do lots of configuration and [set up] and install flatpaks.


We had that 20 years ago, just with a different product. The state of the art is now two generations newer.

in reply to corsicanguppy

Well I know Ansible and it works for my needs. I briefly used Nix and it was worse. Ansible is nice because you can just install ansible and then apply a playbook.
in reply to TheGrandNagus

For me on Arch, Flatpaks are kinda useless. I can maybe see the appeal for other distros but Arch already has up-to-date versions of everything and anything that's missing from the main repos is in the AUR.

I also don't like how it's a separate package manager, they take up more space, and to run things from the CLI it's flatpak run com.website.Something instead of just something. It's super cumbersome compared to using normal packages.

This entry was edited (8 months ago)
in reply to ayaya

fwiw those simple names exist, you just haven't added it to your PATH
in reply to ayaya

I also prefer to get my software from the distro's repos, but for software from third parties, flatpak adds a security layer, making it more secure when compared, for example, to aur.
in reply to nossaquesapao

Can you please elaborate on the security layer that flatpak adds? Some commentators here suggest Flathub is not secure.
in reply to TheGrandNagus

Lemmy (and phoronix) people are generally extremely repelled by new stuff in the Linux world
Unknown parent

lemmy - Link to source
LainTrain
Do you maybe mean snap?
in reply to mr_MADAFAKA

Sorry to ask, I'm not really familiar with Linux desktop nowadays: I've seen Flatpak and Flathub talked about a lot lately and it seems to be kinda a controversial topic. Anyone wanna fill me in what's all the noice about? It's some kind of cross-distro "app store" thingy?
in reply to JRaccoon

Flatpak is a universal application packaging standard for Linux. It allows devs to create a single application that gets bundled with all necessary dependencies including versioning.

These apps run in their own semi-isolated "container" which makes immutable distros possible. (Distros like Fedora Silverblue that are effectively impossible to break by installing or removing critical system files.)

This means that a Linux app doesn't have to have a .deb version, an .rpm version, or be pre-compiled for any other distros. A user can simply go to Flathub, (the main repository for Flatpak apps), download the flatpak, and install it on their distro of choice.

It's quickly becoming the most popular way for users to install apps on Linux because it's so easy and quick. But there are a few downsides like size on disk, first party verification, per-distro optimizations, and the centralization of application sources. That's why some users aren't fully endorsing or embracing how popular they are becoming.

This entry was edited (8 months ago)
in reply to Lettuce eat lettuce

Interesting breakdown, thank you.

Do you happen to know if the containerization is similar to docker containers? Or more like android apps?

in reply to CaptainSpaceman

I'm not an expert, but from my understanding, more like android apps.

They aren't totally isolated like a docker or LXC container would be, but they are generally self-contained.

The Linux Experiment has a really great vid that goes into detail on all common packaging formats in Linux including Flatpaks:

This entry was edited (8 months ago)
in reply to CaptainSpaceman

It's more like android apps from early versions of Android before the permissions became user-managable.

It won't prompt you to give the application access to certain permissions, all the permissions are predefined in the manifest by whoever published the application to flathub. When you run the application you just hope it won't cause too much havoc (you can of course verify the permissions before running it, but I guarantee most people won't)

Flatpak supports sandboxing but due to how most desktop applications want access to your home folder, network etc many apps simply disable it.

Regardless of the level of sandboxing applied to the app, Flatpak is a great way for a developer to package once run anywhere. Prior to Flatpak, if you wanted to support multiple distros, you had to build a package for each distro or hope somebody working on that distro would do it for you.

Inb4 AppImage was here first. And if you mention Snap then GTFO

This entry was edited (8 months ago)
in reply to lightnegative

Appimage is probably the most similar to a naked .exe in Windows. They are useful for small apps or simple indie games, but I prefer Flatpaks for my everyday big applications.

Agreed, Snaps are like Flatpaks but worse because locked down back end and Canonical's sketchy nature. Imagine a really delicious pastry that anybody can make and sell, then imagine the same pastry but only one bakery in the world can make and sell it. Which would you prefer? Lol

in reply to lightnegative

Keep in mind there are certain permissions that can lead to a sandbox escape. These permissions are banned on Flathub but can still be used by flatpaks files and custom repos.
in reply to Lettuce eat lettuce

Cool, thanks for the explanation.

a single application that gets bundled with all necessary dependencies including versioning


Does that mean that if I were to install Application A and Application B that both have dependency to package C version 1.2.3 I then would have package C (and all of its possible sub dependencies) twice on my disk? I don't know how much external dependencies applications on Linux usually have but doesn't that have the potential to waste huge amounts of disk space?

This entry was edited (8 months ago)
in reply to JRaccoon

Essentially yes, if you start using lots if older applications or mixing applications that use many different dependency versions, you will start to use lots of extra disk space because the different apps have to use their own separate dependency trees and so forth.

This doesn't mean it will be like 2x-3x the size as traditional packages, but from what I've seen, it could definitely be 10-20% larger on disk. Not a huge deal for most people, but if you have limited disk space for one reason or another, it could be a problem.

in reply to Lettuce eat lettuce

It CAN get pretty wild sometimes, though. For example, Flameshot (screenshotting utility) is only ~560KB as a system package, while its flatpak version is ~1.4GB (almost 2.5k times as big)
in reply to JRaccoon

Flatpak as a dependency system that allows use of specially packaged library type flatpaks. This significantly reduces the needed disk space.
in reply to JRaccoon

on a desktop it might not be significant but I tried using flatpak apps on a device with very limited root emmc storage (16 GB) and ran out of space really fast. Its really common to see a couple multi-hundred-megabyte library downloads for each new app IME.

I like them for some stuff but there are glaring issues that I don't like. I've posted about it before, poor integration of apps/not getting the right permissions is a big problem, the people packaging them don't often do as good of a job as someone like a distro maintainer.

But admittedly my experience using it probably isn't representative (pop os through their shop and arch on a mobile device). Neither were amazing, but not having to compile shit myself or install with an untrusted shell script was nice for some apps. Without some significant improvements it's not a good replacement for a distro's package repos but it might be a good way to broaden the available applications without having to maintain 10x more packages.

This entry was edited (8 months ago)
in reply to JRaccoon

Not necessarily. GNOME and KDE dependencies and "base system" for flatpaks to run in are flatpaks themselves so apps that depend on them will not use duplicated dependencies. Storage usage may not be as efficient as using a traditional package manager but you don't install a new OS per app either.
in reply to JRaccoon

Most dependencies are bundled in the "runtime" images, and it uses file deduplication to reduce the size of the dependencies, but it's still a little more than a normal package manager.
in reply to JRaccoon

It's not quite that simple.

Each package can choose one from a handful of runtimes to use, each of which include common dependencies (like gnome or qt libraries), and if multiple flatpaks use the same runtime, that runtime is only downloaded once.

It is less space efficient than your typical package manager, but brings other benefits like sandboxing.

in reply to Lettuce eat lettuce

What about those apps using out of date libraries? Wouldn't that become a security issue - since containers usually aren't that secure, right? And all app developers would have to update their container libraries separately, instead of just updating the system libraries?
in reply to sir_pronoun

So if a library is out of date you can just update it. As far as containers go they are fine for security as bubblewrap is pretty solid.
in reply to sir_pronoun

As containers are isolated - it's mostly a security issue for the container itself. It may become an issue, though, if the container is allowed to freely interact with filesystem, for example.

Apps like Flatseal allow you to easily control such variables using a GUI instead of tinkering in the terminal.

in reply to JRaccoon

Was controversial when it was new and full of problems. Now it is mostly the standard for apps.
in reply to Possibly linux

Well, just by looking at responses in this thread, the controversy most definitely still exists. Some seem to like it and others hate it fiercely.
in reply to JRaccoon

I don't hate flatpaks, but flatpaks require more disk space than the same apps from traditional repositories, and they only support a handful of the most common default themes. Since I only ever use older and slower computers, my disk space is limited, and I like to rice my desktop, I personally avoid them. But your use-case may differ.
in reply to JRaccoon

Most of the issue is that they're unreliable. Sometimes the app will work. Sometimes it doesn't. Sometimes you have to fiddle blindly with flatseal settings, which ones? Who knows? Guessing is part of the fun.

It'd be a great thing if it just worked.

This entry was edited (8 months ago)
in reply to shapis

I guess mileage varies here because flatpaks have always just worked for me. I only use flatseal to revoke excessive permissions.
in reply to shapis

In over 3 years of daily flatpak use (of multiple apps) I've never had a single reliability issue with flatpak, the only ones being caused by me because I was trying out settings in flatseal that the app didn't like. On the flip side I've found native packages to be broken more often than not, with .Deb files sometimes just not working and throwing an error or something. Package managers are better for sure but I've had dependency issues that I have never experienced with flatpak.
Unknown parent

lemmy - Link to source
sturlabragason
Could you elaborate?
in reply to mr_MADAFAKA

To everyone saying you can’t mirror a flatpak repo… you’re absolutely right. There should be a far easier way to set up your own mirror without needing to build everything from scratch. That being said, if you wanted to try to make your own repo with every one of flathub’s apps, here you go:

github.com/flathub

docs.flatpak.org/en/latest/hos…

Edit: Some did get a flathub mirror working. The issue is that a. Fastly works good enough and b. There is no concept of “packages” on the server side. It’s just one big addressed content store because of ostree, and syncing is apparently difficult? Idk, not being able to sync the state of content is like the entire point of ostree…

github.com/flathub/flathub/iss…

This entry was edited (8 months ago)
in reply to Possibly linux

It’s not about funding. Many prefer mirrors because the main instance isn’t globally available (the GitHub issue I linked, for example, is all about people trying and failing to access flathub in China) or because they can’t for compliance reasons (many businesses already mirror stuff like epel, too, which is what throws off Rocky’s stat counters). Neither of those issues can be assessed by throwing more money at a CDN.
in reply to biribiri11

Well that isn't the fault of Flathub. If a country or organization blocks it that's a local issue. This is especially true in China where they need to control the movement of information. Blaming flathub and Flatpak for censorship is frankly unfair.
in reply to Possibly linux

I’m not sure if anyone said it was the fault of flathub. My point is that, regardless of fault, accessibility to the main instance is an issue for several reasons, and a good way to solve it is to build a system for mirrors.
in reply to biribiri11

Your bypassing restrictions that could get you in trouble. Tor is the right answer in that case. However, bypassing restrictions can have dire consequences.
in reply to Possibly linux

There are existing mirrors for Fedora and Ubuntu packages in China, which are used because mirrors in other countries are often blocked. I’m sure there are no legality issues—the issue in the case of flatpak and china in particular is that China blocks Fastly because Fastly does not host any POPs in China. This is why Cloudflare, for example, has their own network in China that international users can pay to use. There’s no legal issues here, just logistical. Besides, as previously shown, people do (with great difficulty) managed to bring up their own flatpak mirror without any consequences for a few years now.

Besides, there shouldn’t be legality issues for businesses wanting to host their own mirrors for compliance issues.

in reply to Possibly linux

Oh no, this is Flatpaks' fault because they made this twisted repository system instead of doing sane things and then it is Flathub's fault as well because they aren't opening their storage to rsync or other sane syncing methods.
Unknown parent

lemmy - Link to source
Possibly linux
It could also he that those people aren't using computers with Linux
Unknown parent

lemmy - Link to source
ShittyBeatlesFCPres

Or maybe the two countries with a larger population than the United States have significantly lower per capita income and so fewer people own desktop/laptop computers. Most of the world probably has, at most, a smartphone.

If anything, Brazil seems like the outlier on the that map. You’d expect the U.S. to have the most computers. But Brazil and China are roughly similar in terms of income.

in reply to mr_MADAFAKA

As a professor I have to say... the site admin skipped the class that taught them to include always the color bar.
in reply to mr_MADAFAKA

I'm gonna be honest I've never had a flatpak version of something ever work properly.

There was even one popular media player that only came in flatpak form or otherwise build from source.

So obviously, for no reason at all, it barely functioned compared to other applications I had already tried.

Congrats to you people put there somehow running things like Steam with no problems lmao.

in reply to mlg

I’m gonna be honest I’ve never had a flatpak version of something ever work properly.


As someone once involved with OS Security, I beg you not to use FlatPaks.

in reply to corsicanguppy

Flatpak is not perfect security-wise but is a step in the right direction
in reply to corsicanguppy

You can't just make a statement like this without giving a hint of evidence or justification
in reply to mlg

I have like 20 flatpak software products running without any problem for 2 years now.
in reply to mr_MADAFAKA

Great opportunity to inject malware to so many vulnerable peeps then
in reply to delirious_owl

You could say that with any program distribution. At least flatpaks are containerised.
in reply to mr_MADAFAKA

Lol, what a pointless map.
It’s impossible to tell at a glance which countries have more or less downloads, other than a couple of countries with a slightly lighter colour.
Unknown parent

lemmy - Link to source
mrvictory1
China blocked Flathub
in reply to mr_MADAFAKA

Does that count for when an OS is wiped and reinstalled or a nerd has like 3 computers and keeps OS flipping?
in reply to SendMePhotos

In that case you should use user-install flatpaks and separating and reusing your /home partition
Unknown parent

lemmy - Link to source
jbk
average lemmy.ml mf
Unknown parent

lemmy - Link to source
MajinBlayze [any, he/him]
Notable capitalist enterprise: the GNOME Foundation
This entry was edited (8 months ago)
in reply to mr_MADAFAKA

What's the issue? I installed mint because I know fuckall about Linux, and tbh it's a dice toss if I have used the Flatpak option not knowing what the actual difference between them are
This entry was edited (8 months ago)