How do you guys get software that is not in your distribution’s repositories?
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
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?
The easiest way to think of it is flatpaks are AppImages with a repository and snaps are flatpaks but bad.
That has benefits and detriments. Appimages contain everything they need to run, flatpak’s mostly do, but can also use runtimes that are shared between flatpaks.
All flatpaks are sandboxed, which tends to make them more secure. AppImages can be sandboxed, but many aren’t.
Flatpaks tend to integrate with the host system better, you can (kinda) theme them, their updates are handled via the flatpak repo, and they register apps with the system.
AppImages are infinitely more portable. Everything’s in one file, so you can pretty much just copy that to any system and you have the app.
- Compile from source
- Find alternative
- Deploy in VM/Docker
If I wanted snap, flatpak or appimages, I would use windows. Shared dependencies or death.
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.
I ran into the same issues, mentally, when trying out AppImages for the first time - but my attitude changed once I found and started using this tool: https://github.com/ivan-hc/AM
App images are a very Windows way to do things. They bundle everything so they are big
curl
|sudo bash
I don’t remember what program it was, the dev explained it wasn’t available as flatpak because flatpaks are unsafe or something. Then the installation guide went “well anyway here’s curl | sudo bash.” Like, lmao. Talk about bad security practices.
There is no software that is not in AUR. I use arch, BTW.
My software, QuickDAV, is not in the AUR. It’s open source, and I release it only as an AppImage, because I am lazy.
I guess we should have added the word “notable”
I’m terribly sorry, you left the door wide open ;)
I’m curious, what makes AppImage a good choice for the lazy developer? Is it easier to create?
I’m curious, what makes AppImage a good choice for the lazy developer? Is it easier to create?
The appimage is basically just
git clone
->make
->make install DESTDIR=/path/to/AppDir
->wget appimagecreationtool
and finallyappimagecreationtool /path/to/AppDir
and that’s it you have your appimage.appimagecreationtool being several tools that can create the appimage from an AppDir, like linuxdeploy, linuxdeploqt, go-appimage, etc
And that on itself isn’t complex either, it if basically running ldd on the binary, then copy those libraries into the AppDir and finally run patchelf to patch the paths in the binaries and libraries, suyu uses a deploy script instead of using those tools, which I’ve recently forked and began expanding.
I don’t know how easy it is to make a flatpak or snap, but I do know the dev of zen browser hates dealing with the flatpak and iirc right now the flatpak is outdated as result.
EDIT: Also lite-xl has been making a flatpak for like 2 years and it isn’t ready yet.
But yeah, sometimes I just compile from source, if needed.
That’s exactly what the vast majority of AUR packages do already? You can also apply modifications to the compilation process if needed.
Indeed, but don’t underestimate my laziness.
Install from source if there isn’t a repo for the software.
Hardcore
Way back in the before times there was only the source.
If you don’t compile from source, do you even Linux?
Linux From Scratch user detected
Or Slackware
Or gentoo.
I’m currently on a atomic distro, so how I get my software from favorite to least favorite is this:
- Flatpak
- Appimage
- Fedora distrobox
- rpm-ostree
Have you met nix?
Nix is cool but also incredibly painful
I use nix package manager on fedora silverblue. It’s awesome.
Awesomely painful
Why is it painful for you?
It just is overly complex. Nix has its own environment instead of just being a regular package manager.
os-tree is slow as molasses
As it should be, don’t do that.
Doctor, when I do this it hurts…
Also, you’re creating a disk image…
Linux noob here, can someone ELI5 why snaps are bad? And how does .deb works?
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.
as it should be, nobody likes proprietary vendor-locked formats that get shoved down your throat