How do you guys get software that is not in your distribution’s repositories?
it’s called snap cos thats what the community will do to your bones if you use it. apparently
Why not just stick to what we’ve always been doing?
- wget something.tar.gz
- tar something.tar.gz
- man tar
- tar xzf something.tar.gz
- cd something
- ls -al
- ./config.sh
- chmod +x config.sh
- ./config.sh
- make config
- Try to figure out where to get some obscure dependency, with the right version number. Discover that the last depency was hosted on the dev’s website that the dev self-hosted when it went belly up 5 years ago. Finally find the lib on some weird site with a TLD you could have sworn wasn’t even in latin characters.
- make config
- make
- Go for coffee
- make install
- SU root
- make install
I much prefer our modern package format solutions:
- sudo apt install something
- open
- wtf this is like 6 months old
- find a PPA hosted by someone claiming to have packaged the new version
- search how to install PPAs
- sudo apt <I forgot>
- install app finally
- wtf it’s 2 months old and full of bugs
- repo tells me to report to original developer
- report bugs
- mfw original dev breaks my kneecaps for reporting a bug in out of date versions packed with weird dependency constraints they can’t recreate
deleted by creator
We should normalize programs that don’t use such exotic and impossible libraries that you have to do anything besides type “make” and “make install” for it to work.
In theory it’s a no brainer. In practice not so much.
in the end we end up using containers afaict
Linux noob here, can someone ELI5 why snaps are bad? And how does .deb works?
Nothing necessarily at the tech level. They’re more capable than Appimages or flatpaks to the point that you can use it to build a reproducible system hardened against tampering or defective updates.
The downside is that it’s controlled entirely by canonical, has limited abilities (if any?) for hosting storefronts/packages outside of their ecosystem, and said ecosystem is insecure and has already allowed multiple waves of malicious apps to reach end users because of poor moderation of listings masquerading as legitimate versions.
Canonical has also been increasingly hostile to flatpaks - removing it from Ubuntu and derivatives by default to push users towards snap.
The whole loopfs thing is just an annoyance, but the aggressive posturing by canonical as well as the closed nature of the storefront that has led to malicious attacks on end users is enough to give it more than a few haters.
Snaps are a standard for apps that Ubuntu’s parent company, Canonical, has been trying to push for years.
The issue that most people have with them, is that Canonical controls the servers, which are closed source. Meaning that only they can distribute Snap software, which many Linux users feel violates the spirit & intention of the wider free and open source community.
Appimages and Flatpaks are fully open source standards, anybody can package their software in those ways and distribute them however they want.
.deb files are software packaged for the Debian distribution, and frequently also work with other distros that are based on Debian, like Linux Mint.
Thanks, I recently needed picocrypt and not being comfortable with the terminal, snap were a rather convenient way to get it installed, I’ll avoid them from now on.
The primary thing I hate about them is that every snap package appears to your system as a separate mounted filesystem. So if you look in your file explorer, you can potentially see dozens of phantom drives clogging up your sidebar.
The snap store is some proprietary store Canonical runs, and snaps are friggin huge in size. I don’t really know though as I don’t use Ubuntu anymore
Size isn’t an issue imo. Applications are bulky for many more reasons than their packaging formats.
I don’t really like neither of the 3, personally. But I understand the need and the benefits
I feel like that’s a pretty good take. As long as you’re getting the software in an elegant way that doesn’t break the dev’s back, we’re good.
There is no software that is not in AUR. I use arch, BTW.
But yeah, sometimes I just compile from source, if needed.
i use arch based btw (I love my Manjaro and it’s AUR support) :>
Gatekeeping the word “software” here?
Here’s something not in the AUR. Tested on archClearly we need an Arch version of rule 34 and rule 35
Rule 34a: If linux software exists, it’s in the AUR. No exceptions.
Rule 35a: If linux software is not in the AUR, it will be made available in the AUR.
I don’t intend on pushing that one to the AUR. It’s not worth it.
Maybe I’ll make an AppImage at most.I don’t know any formal requirements for it being on AUR, but I just feel like this one does not fit there.
Sorry, I’ve already posted the new internet rules and they took immediate effect, I’ll have to report this incident to…the council.
Someone will put the AppImage in AUR
This is such a weird gatekeeper take
Its a joke lol, why are you so serious all the time
Native repos > AUR > compile from source > Flatpak
Native package manager > Native binaries > AppImage > Flatpak.
Yes, snap isn’t even on the scale.
Not a fan of AppImages myself. For an universal format it has surprising amount of issues with different distros, in my experience. And the whole Windows style “go to a website, download the AppImage, if you want to update it, go to the web page again and download it again” is one thing I wanted to get away from. At least they don’t come with install wizards, that clicking through menus thing was a pain.
For one off stuff I run once and never need again, AppImage is alright. But not being built-in with sandboxing, repos, all that stuff, it just seems like a step back.
App images are a very Windows way to do things. They bundle everything so they are big
Isn’t the gnome runtime alone 2GiB? You know how many appimages that is?
Not to mention you are unlikely to only use one runtime.
Then again, loads of apps share that runtime. And if other runtimes have same stuff as that GNOME runtime, the shared parts are on your disk only once. It’s pretty smart in how it works.
Ran out of space on a 30GB partition when trying around 10 smallish programs as flatpaks. Runtimes are shared in theory but not in practice.
If you allocate 30 GB for / that seems pretty low these days for a desktop system. If you don’t have much space, it’s always best to go with regular repository packages
Here someone had 163 flatpaks and it used 8,7GB in runtimes. So I’m guessing the 30GB number is for whole of /.
I just checked out mine, I have 34 apps and runtimes use 3,1GB
Runtimes are shared in theory but not in practice.
I think three runtimes (newest freedesktop, KDE and GNOME) cover 90% of my flatpaks. Then there’s programs that use some EOL’d runtime and never get updated, which sucks
It was on a phone, and 25 GB was Flatpak
I tested installing some web browers, kdenlive, yuzu and libreoffice and without knowing I ended up with 3 different runtimes and the total storage usage (with deduplication) was 4.79 GIB.
Meanwhile with 33 appimages that I have (which includes same flatpak apps I mentioned) are using 2.2 GiB.
It doesn’t matter if they share if in the end they end up using several times more storage than the appimage equivalent.
You should test it out with those 33 installed as flatpak. If you end up with 4.7GB for runtimes, that’s basically nothing these days as far as storage goes for that amount of programs. More you have, more you benefit from shared runtimes. I doubt it’ll be less than AppImages but it’s usually the starting runtime space use that shocks people.
Here someone tested it with 163 flatpaks and the runtimes used 8.7GB. With the top 5 most used runtimes covering 128 of those flatpaks.
https://blogs.gnome.org/wjjt/2021/11/24/on-flatpak-disk-usage-and-deduplication/
I just checked out mine, I have 34 apps and runtimes use 3,1GB
It doesn’t matter if they share if in the end they end up using several times more storage than the appimage equivalent.
Well we are talking about two gigs, after all. Unless you’re using an embedded system, it’s not a much of a concern if you ask me. But it is more, true
. If you end up with 4.7GB for runtimes, that’s basically nothing these days
Yes but that wasn’t the original comment I replied to was about.
163 flatpaks and the runtimes used 8.7GB
163 flatpaks using 8.7 GiB means that the average flatpak is using 54.6 MiB.
That’s good the other time I got this linked: https://tesk.page/2023/06/04/response-to-developers-are-lazy-thus-flatpak/#but-flatpaks-are-easier-for-end-users
Which is no good as in that example there was 173 flatpaks using 27.66 GiB, average 160 MiB, while in your case the average flatpak is using 91 MiB.
This is what I have with appimages:
In this case the average appimage is using 69 MiB, though there is one outliner which is the Steam appimage that I have there (470 MiB) which is an entire conty container with its own video drivers and everything, without it the average would be 56 MiB.
I know this doesn’t matter these days but once again that wasn’t what the original comment was about.
Well we are talking about two gigs, after all. Unless you’re using an embedded system, it’s not a much of a concern if you ask me. But it is more, true
Thanks for the link showing an average flatpak using 54 MiB though, didn’t think it was possible lol.
WAIT I just took a deeper look at the link, isn’t that guy just showing the runtimes without the applications using 8.7 GiB?
Yes but that wasn’t the original comment I replied to was about.
I know this doesn’t matter these days but once again that wasn’t what the original comment was about.
I agree, it was just about the size differences. I just think it’s good to bring up since there’s many confused about the flatpak size use. Often people might want to install some small app and they’re hit with gigs of stuff and come off thinking that’s the same for every app, which would be insane of course.
WAIT I just took a deeper look at the link, isn’t that guy just showing the runtimes without the applications using 8.7 GiB?
Yes it’s specifically comparing runtimes. Same for my number, I was calculating how much the runtimes used.
And the last three aren’t even an option in the enterprise unless your CTO is 24.
If you don’t compile from source, do you even Linux?
Linux From Scratch user detected
Or Slackware
Ah … yeah … totally. I would never use some filthy peasant distro like Mint. No sir! Never never ever!
AUR changed my life
Did someone’s script wipe out your tax returns?
cant we just have .deb?
- Compile from source
- Find alternative
- Deploy in VM/Docker
If I wanted snap, flatpak or appimages, I would use windows. Shared dependencies or death.
Shared dependencies or death
Docker🤔
I don’t like middle grounds in my packages, what can I say.
Docker containers are treated as immutable and disposable to me, like a boot CD, for each, I write a shell script to generate both a .conf if needed, a docker-compose.yml and run the container.
They’re plug’n’play separate parts to the rest of the OS, while packages are about integrating nicely with the rest of the OS, in a non-snowflakey, non-disruptive manner.
I also hate .conf.d folders and always deleted them. One program, one .conf.
Artix repos > Arch repos > existing AUR package > create my own AUR package
No need to use any of these flatpak/appimage/snaps when I can just make a package for my distro. Most software is not difficult to package.
This may be true from your perspective but won’t sway over many newbies / plebs who don’t have the knowledge (yet) or who simply do not have or want to take the time for self packaging.
And flatpak, snap and appimage tend to become the standard to get verified, tried and tested software hosted & supported by the official maintainers or the company behind the software.
Now to the personal part:
There was a time when I was motivated enough to get packages from user repos - I actually never was motivated enough to do self packaging so maybe I have missed something world changing - but I got so tired of having to figure out the missing “optional” dependencies that meant the software wasn’t working as expected and having to trust 3rd party maintainers when most stuff on flathub was “install & ready” and officially supported or at least hosted by a “verified” source. And maybe distro xyz has a mindblowing solution to all my problems but for the moment I am happy with what I have and not looking for yet another distrohopping and yet another point was whilst distrohopping it was soo easy that I could use the same install.sh containing all my favourite flatpak apps & the “applications” folder containing my favourite appimages no matter if I was on a Debian, RedHat, Arch, … based distribution.
I never claimed I was trying to “sway over newbies”? Do what you want, this is just my personal preference.
My bad, I didn’t emphasize the Your-way-is-perfectly-fine-part at all and focused more on underlining how it doesn’t work for everyone which made it look like I was completely opposed to you.
I wanted to say that both ways, flatpak/snap/appimage and self packaging / user repos are perfectly fine in their ways. The first may be more targeted towards newbies and people who do not want to hassle around with dependencies and the latter is for the more experimental kind of person.
If it works for you and you are happy then there is no reason to change anything. Having the freedom to decide how our OS should be is what drove most of us to Linux in the first place.
In that regard I fully agree with you and especially with “Do what you want, this is just my personal preference.”
I … I don’t have any of these problems…
Am I missing out on shit? Have I Grandpa Simpsoned?
How do you guys get software that is not in your distribution’s repositories?
Since i use a gaming arch based distro (Cachyos) the aur
Appimages are crap too, but at least there is progress with AppMan, repos and that sandboxing solution.
Snaps are only sandboxed with Apparmor and snapd only allows a single repo (which contained malware multiple times) so get the hell off my lawn XD
Just use flatpak. It runs and installs local but still has the benefits of a package manager
Yup.
.deb first and then flatpak if not available as on deb repo or if deb version is outdated. Never used appimage or snap. Rpm just as good as deb when I use Fedora. Flatpaks are much larger in size which is why I first go with the deb version.