How do you guys get software that is not in your distribution’s repositories?
AUR. If it doesn’t exist on AUR (very unlikely, but happens something), I make a package for it.
On non-arch distros, I often use LURE.
How safe is LURE?
- 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.
But snaps do have shared dependencies to a degree. Also, do you use gentoo?
No, that’s not what is meant by shared dependencies, and I don’t use Gentoo, I use Debian.
Flatpaks and snaps both have shared dependencies, just at a less granular level than debs. OCI images and VMs are pretty much the extreme opposite of shared dependencies.
cant we just have .deb?
On arch?
If you look at some aur packages, it’s probably deb…
we got tar.gz
And windows has .zip? That’s not the same…
i mean arch linux deb version is tar.zst no joke
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
os-tree is slow as molasses
It is. I also wonder if there was a model that accomplishes the same thing but with less image copying.
Like, make snapshots every day, but manual installs are not snapshotted but still tracked with ostree. So you can revert them, display them transparently etc.
As it should be, don’t do that.
Doctor, when I do this it hurts…
Also, you’re creating a disk image…
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.
finally, somebody in this thread who doesn’t live in the past.
System package manager is for system binaries. Not for applications.
If you don’t compile from source, do you even Linux?
Linux From Scratch user detected
Ah … yeah … totally. I would never use some filthy peasant distro like Mint. No sir! Never never ever!
Or Slackware
Or gentoo.
AUR changed my life
Did someone’s script wipe out your tax returns?
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.
very smart much secure
But it gets the job done, chaotic good
No one uses app image anymore
this is probably an edge case but I do when i visit family and friends. these trips are short and infrequent enough that a laptop would be an unnecessary expense and i’m not driving through mountainous areas with my tower. none of them use linux. most have aged windows or mac machines. they don’t care if i run a live system or puppy linux from a USB drive. i add a handful of appimages i’ll use at night or if there’s free time. I’m sure there are better ways but it works for me.
If it works for you then it works, no need to switch it up. I guess one other way of doing it would be a persistent install on that USB.
Nix, if not in nix pkg for nix, then nix
Build from source
for transcripts, i built tesseract from source
LFS Ftw!
I have a few source built packages that I use every day.
Loading up my system with several development libraries to compile a program is preferable to taking a giant dump on my system in the form of soypacks.
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.
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.
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.
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 ameta/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).
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
The first two snaps I compared sizes of on my system are uv and bitwarden. The uv snap is 9.5 megs vs. the wheel’s 12.2 megs, and the bitwarden snap is 97 megs vs. the Deb’s 79 megs and the AppImage’s 114 megs. These seem pretty reasonable - doubly so since snaps also have delta updates.
OK that’s better than what I’ve seen. Notepadqq I think was 2.4gb and I said no to that one. But again I don’t run Ubuntu.
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.
For me, it was
snapd
taking ~2.5
GiB of RAM.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.
Worth noting that the confinement of Flatpaks and Snaps can have major drawbacks. It has been a major pain in the ass to get Flatpaks working nicely with fractional scaling (think tiny cursor, huge text, tiny text etc etc)
Nothing in theory makes that an issue of flatpaks and snap, just that both rely on different means to interact with the host system that have been woefully slow to implement. If enough protocols are developed a flatpak or snap should be as capable as a native app with the safety benefits for free.
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.
.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.
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.
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
AppImage, build from source, or don’t bother
Download the sources and build it, like Kernighan & Richie intended.