DEV Community

Simon Justesen
Simon Justesen

Posted on

I love Linux ... and AppImages <3

I've been using Ubuntu/Debian/Nitrux/Manjaro ARM as my main go-to OS' for several years now. I absolutely love being part of this vast community of great individuals.

"Linux is difficult" - "Packaging is hard" was once the most predominant ways for software companies to tell users, why they didn't support Linux.

But these days we got things like AppImages[1], which I think is very underappreciated within the community (just a feeling, no figures to back it up). Actually I'm unaware why AppImages aren't already part of all Linux distros out there. I guess it's because everyone is trying to roll their own distribution formats?

Anyway, An AppImage is a container format much akin to Mac Applications. You just download an AppImage from e.g. AppImageHub[2], set the execute permission on the file and off you go. No installation required - you can even place the AppImage file where ever you'd like. If you want to skip the "set execute bit" step and need tighter GUI integration there's a daemon called appimaged[3] that you can run beforehand which will take care of all this.

[1] https://appimage.org/
[2] https://www.appimagehub.com/
[3] https://github.com/probonopd/go-appimage

Discussion (1)

Collapse
naruaika profile image
Naufan Rusyda Faikar

I guess it's because everyone is trying to roll their own distribution formats?

I do not think so. If there is such a widely accepted specification about packaging and distributing software that solves all the issues they have, they would adopt it to their system. If AppImage does solve better than their approach, they will choose it. But there is not any general solution for this complex problem. People do agree and disagree about any design pattern and implementation of anything. I personally use Flatpak since it comes by default with Fedora, but I do agree and disagree about the implementation.

Indeed, every operating system (/distro) developer teams have their own approach in packaging that more fits to their design goals, integrate to their system the best, and so on. Also, having a software package manager is the way to centralize things, I think, making the installation, updating, and removing packages as easy as possible (or even automate them).

For AppImages, I do not have anything to say, since I have not been using them much. Let alone there are already many discussions around why using and not using AppImages out there.

By the way, thanks for pointing out about the appimaged. I just learned that there is a development of such a daemon that looks promising.