this post was submitted on 16 Sep 2024
808 points (97.4% liked)

linuxmemes

20707 readers
1106 users here now

I use Arch btw


Sister communities:

Community rules

  1. Follow the site-wide rules and code of conduct
  2. Be civil
  3. Post Linux-related content
  4. No recent reposts

Please report posts and comments that break these rules!

founded 1 year ago
MODERATORS
 

How do you guys get software that is not in your distribution's repositories?

top 50 comments
sorted by: hot top controversial new old
[–] BF2040@lemmy.world 1 points 3 hours ago

I understand appimages. I use them exclusively. Can someone explain what flatpak and SNAP are and how they work? I have autism so please be as clear and concise as possible?

[–] BigDanishGuy@sh.itjust.works 47 points 2 days ago* (last edited 1 day ago) (3 children)

Why not just stick to what we've always been doing?

  1. wget something.tar.gz
  2. tar something.tar.gz
  3. man tar
  4. tar xzf something.tar.gz
  5. cd something
  6. ls -al
  7. ./config.sh
  8. chmod +x config.sh
  9. ./config.sh
  10. make config
  11. 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.
  12. make config
  13. make
  14. Go for coffee
  15. make install
  16. SU root
  17. make install
[–] merthyr1831@lemmy.ml 7 points 1 day ago

I much prefer our modern package format solutions:

  1. sudo apt install something
  2. open
  3. wtf this is like 6 months old
  4. find a PPA hosted by someone claiming to have packaged the new version
  5. search how to install PPAs
  6. sudo apt <I forgot>
  7. install app finally
  8. wtf it's 2 months old and full of bugs
  9. repo tells me to report to original developer
  10. report bugs
  11. mfw original dev breaks my kneecaps for reporting a bug in out of date versions packed with weird dependency constraints they can't recreate
[–] PenisDuckCuck9001@lemmynsfw.com 2 points 1 day ago* (last edited 1 day ago) (1 children)

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.

[–] Omniraptor@lemm.ee 2 points 1 day ago

in the end we end up using containers afaict

[–] nicknonya@lemmy.blahaj.zone 6 points 1 day ago

it's called snap cos thats what the community will do to your bones if you use it. apparently

[–] MehBlah@lemmy.world 3 points 1 day ago (1 children)

Install from source if there isn't a repo for the software.

[–] InternetCitizen2@lemmy.world 2 points 1 day ago (1 children)
[–] MehBlah@lemmy.world 2 points 19 hours ago

Way back in the before times there was only the source.

[–] Dop@lemmy.world 11 points 2 days ago (9 children)

Linux noob here, can someone ELI5 why snaps are bad? And how does .deb works?

[–] merthyr1831@lemmy.ml 3 points 1 day ago

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.

[–] Lettuceeatlettuce@lemmy.ml 17 points 2 days ago (2 children)

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.

[–] lengau@midwest.social 7 points 2 days ago (1 children)

Some further context on this that @Dop@lemmy.world might want to know:

While Canonical's snap store is proprietary (which, to be clear, I don't really like), all the client software is open source and the API is well documented (though a bit janky). Their snap store relay app (which is open source) has a full implementation of it. There was a fully functional open snap store for a while, but the project died out of a lack of interest. You can also distribute snaps through another mechanism and install them locally on the machine (though you then lose the benefit of snapd's auto updates). You can even do this with snapd still checking the signatures of the snaps.

The standard for snaps is fully open, as is snapd itself.

There's no need to oversell the negatives to the point of being wrong.

[–] merthyr1831@lemmy.ml 1 points 1 day ago (1 children)

Interesting, didn't know it was feasible to make the distribution open.

That doesn't give me much to complain about in theory, but canonical has lost way too much good faith to give people a reason to keep open snap distribution going for free. They should definitely consider hosting an open store just to get people on board again.

[–] lengau@midwest.social 1 points 1 day ago

It was being done by a group of snapd developers at Canonical, IIRC, but after a couple of years of exactly zero interaction from anyone outside Canonical I think they just gave up and decided it wasn't worth it because they were getting accused of trying to monopolise whether they had an open store or just an open API.

Of course, you can also distribute snaps without using the snap store API. I've used this for airgapped machines in the past. You can either just grab the .snap file (which is just a squashfs file with a meta/snap.yaml in it so snapd knows how to treat it) and install it with --dangerous, or you can include an assertion file for that snap signed by a certificate that your machine's snapd trusts and not even have to do that. (Those airgapped machines trusted our own certificate so we could ensure that the snaps came from our CI process and weren't a developer's random test snap).

load more comments (1 replies)
[–] pixelscript@lemm.ee 9 points 1 day ago

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.

[–] lengau@midwest.social 8 points 1 day ago (6 children)

I don't think snaps are bad (and when someone tries to explain why they are, about 85% of the time they say something wrong enough that I suspect they're probably just parroting someone else rather than actually knowing what's going on). It's sad, because if we could get rid of the bullshit we could actually have decent discussions about the benefits and shortcomings of snaps (and how to fix those shortcomings).

On the .deb front: it's a package format made by Debian. Each archive contains a data tarball, which has the files in the package in their full structure from /, and a control tarball, which contains metadata such as name, version and dependencies as well as pre-install, pre-remove, post-install and post-remove scripts, which are used doing any setup or removal work that can't be done just by extracting or deleting the files.

The upside of deb files is that they tend to be pretty small. The downside is that this typically comes from having a tight coupling to library versions on the system, which means upgrading a library can break seemingly unrelated things. (This is why you get warnings like this page: https://wiki.debian.org/DontBreakDebian) Many third party distributors (e.g. Google with Chrome) take care of this by packaging most dependencies inside the deb, inflating the size.

Another major difference between packages like debs and rpms and newer formats like snaps and flatpaks is that the latter have confinement systems to prevent apps from having full access to your system.

[–] merthyr1831@lemmy.ml 1 points 1 day ago (1 children)

Honestly if not for the convoluted Linux FS layout, debs would be pretty serviceable and aren't really different to the Windows solution. The fs layout makes installations way too fickle to clashing with other applications.

That and dependency hell, which distros should have never been allowed to touch beyond the core dependencies required to get your desktop running.

[–] lengau@midwest.social 1 points 1 day ago

Well that's what /opt is for. Well-behaved application packages that aren't part of your core distro should install themselves in there.

[–] Brahvim@lemmy.kde.social 3 points 1 day ago

For me, it was snapd taking ~2.5 GiB of RAM.

load more comments (4 replies)
load more comments (5 replies)
[–] Petter1@lemm.ee 6 points 2 days ago (1 children)

I don’t really like neither of the 3, personally. But I understand the need and the benefits

load more comments (1 replies)
[–] Trail@lemmy.world 78 points 3 days ago (15 children)

There is no software that is not in AUR. I use arch, BTW.

[–] Trail@lemmy.world 31 points 3 days ago (2 children)

But yeah, sometimes I just compile from source, if needed.

load more comments (2 replies)
load more comments (14 replies)
[–] kittenzrulz123@lemmy.blahaj.zone 30 points 2 days ago (1 children)

Native repos > AUR > compile from source > Flatpak

[–] user224@lemmy.sdf.org 13 points 2 days ago

Mine is

AppImage > Native repos > AUR > Manually compiling from source > Finding an alternative

I don't like installing software that doesn't need to be installed, thus I like AppImage. Pretty portable. That also applies to compiling from source. Yes, my home directory is a mess.

[–] cley_faye@lemmy.world 56 points 3 days ago (21 children)

Native package manager > Native binaries > AppImage > Flatpak.

Yes, snap isn't even on the scale.

[–] Kusimulkku@lemm.ee 52 points 3 days ago (3 children)

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.

load more comments (3 replies)
load more comments (20 replies)
[–] communism@lemmy.ml 8 points 2 days ago (1 children)

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.

[–] zyratoxx@lemm.ee 2 points 1 day ago (1 children)

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.

[–] communism@lemmy.ml 2 points 1 day ago (1 children)

I never claimed I was trying to "sway over newbies"? Do what you want, this is just my personal preference.

[–] zyratoxx@lemm.ee 1 points 9 hours ago

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

[–] Diplomjodler3@lemmy.world 63 points 3 days ago (3 children)

If you don't compile from source, do you even Linux?

[–] 299792458ms@lemmy.zip 33 points 3 days ago (3 children)

Linux From Scratch user detected

load more comments (3 replies)
load more comments (2 replies)
[–] 4oreman@lemy.lol 18 points 2 days ago (7 children)
load more comments (7 replies)
[–] hjjanger@lemmy.world 4 points 1 day ago

I have yet to find a need to go outside of the Debian repos.

[–] RmDebArc_5@sh.itjust.works 46 points 3 days ago (10 children)

I’m currently on a atomic distro, so how I get my software from favorite to least favorite is this:

  1. Flatpak
  2. Appimage
  3. Fedora distrobox
  4. rpm-ostree
load more comments (10 replies)
[–] LainTrain@lemmy.dbzer0.com 20 points 2 days ago (4 children)
  1. Compile from source
  2. Find alternative
  3. Deploy in VM/Docker

If I wanted snap, flatpak or appimages, I would use windows. Shared dependencies or death.

[–] __dev@lemmy.world 22 points 2 days ago* (last edited 2 days ago) (1 children)

Shared dependencies or death
Docker

🤔

load more comments (1 replies)
load more comments (3 replies)
[–] deczzz@lemmy.dbzer0.com 5 points 2 days ago

.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.

load more comments
view more: next ›