Live data from Hacker News

AppImage: Linux apps that run anywhere

appimage.org

121–130 of 241 posts

Re: AppImage: Linux apps that run anywhere

#121

I believe the core problem here (that led to containerization, application images and alike) is that correct packaging for most distros is hard. There are tools like fpm or even checkinstall that can build simple good-enough-but-not-really packages, but I think maintaining a "proper" Debian packaging requires some pretty arcane knowledge that's spread around various pieces of documentation (and maybe I'm just stupid,…

Debian packaging isn't too awful, though I don't like how many files are involved (I prefer a single spec file, plus patches, as found in RPM). But, apt repository management is truly terrible. The documentation is laughably bad and disjointed, and it points to several different tools and processes that may or may not work together; my Debian/Ubuntu repo generation script is a ridiculous mishmash of stuff that kinda…

From an application developer point of view, distribution package managers are niche: apt or rpm only works for a specific group of users on those Linux distros, whereas npm/pip/gem will work for all their users, including Mac and Windows users, who often outnumber Linux users.

Re: AppImage: Linux apps that run anywhere

#122
post #9

Why not just use a package manager? If the one in your distro sucks, find a better distro. (Arch Linux would be a good example.) The rule of thumb with OSes and implementing features is to avoid reinventing the wheel. Ports-like tools work very, very well on Linux. Binary distribution works fine too. Also, the shared libraries of each application don't have to be (and usually shouldn't be!) bundled with the applicati…

Did you read the intro paragraph on the website? "As an application author, I want to provide packages for Linux desktop systems, without the need to get it 'into' a distribution and without having to build for gazillions of different distributions." So you are a developer. You don't want to build gazillions of packages, but you want to target lots of users. Suppose you build a package for one distribution. Good luck…

I get the source, I follow the instructions for building and installing it (usually 3 commands; one to configure, one to compile, one to install). That's usually enough to get it working on just about any distro.

If I'm feeling especially up for it, instead of running the install step immediately, I throw together a PKGBUILD so I can use Arch's package manager to manage it (like this one: https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=therm...). Gentoo has a really similar system, so I could just about copy the dev's script wholesale. Then instead of running the commands myself, I run "makepkg && sudo pacman -U *.pkg.tar.xz".

Oh, you mean for "regular users". Yeah, if you want to support those, you need to do some legwork. Regular users who have no intention of learning how to use Linux usually aren't (and shouldn't be!) using Linux. Mac OS and Windows have support teams and wide adoption. Why use Linux if you don't have to?

Please note that I'm not trying to sound elitist. But why would you use an operating system that has a steeper learning curve as a regular user?

I'm actually happy that Linux lacks a central concept of package manager because it encourages experimentation. Everyone gets to figure out what kind of package ecosystem they want to see most. We get to choose instead of just getting whatever comes with the computer.

Re: AppImage: Linux apps that run anywhere

#123

Earlier quoted context omitted.

Yea, I agree. I personally think that this is a huge step backwards. Look at Android and MacOS. You have these self contained packaging things that contain all their dependencies. You have the same dependencies in each package. You have a TON of wasted space with packages that have the exact same built-in libraries and jar files. Especially with Android, they could have made a real package dependency system, with slo…

Is space really an issue in most non-mobile user devices nowadays? Consider the tradeoffs: a bit of space vs. packaging nightmare which results in old, buggy and insecure packages. This was posted a few days back on hn: https://statuscode.ch/2016/02/distribution-packages-consider... I am not sure if the whole jar package dependency management would work under ART.

I wastes memory too, having multiple copies of the same shared libraries loaded.

Re: AppImage: Linux apps that run anywhere

#124
Issues others mentioned are the bundling of libs as well as the lack of sandboxing. But I think the developer experience of xdg-app is superior specially if you just want to make a small change to an app without needing a day setting up the dev environment and maybe even another distribution for compiling the stuff.

Re: AppImage: Linux apps that run anywhere

#126

Earlier quoted context omitted.

I really think that although this might be a boon to packagers it results in an inferior system wherein people end up with bloated,buggy packages. I don't want to deal with 2 different package managers and new users are apt to be confused by the idea that they get packages from 2 different places.

Yea, I agree. I personally think that this is a huge step backwards. Look at Android and MacOS. You have these self contained packaging things that contain all their dependencies. You have the same dependencies in each package. You have a TON of wasted space with packages that have the exact same built-in libraries and jar files. Especially with Android, they could have made a real package dependency system, with slo…

Android and MacOS each have a lot more users than desktop Linux, a lot more applications packaged, and applications get updated in a more timely fashion. Obviously that's not all down to a difference in packaging, but it does seem like the inefficiency of duplicated dependencies isn't all that big a problem.

Android also runs on phones that still mostly have less storage and less RAM than our desktops, so you'd expect saving space to be even more important for Android.

Re: AppImage: Linux apps that run anywhere

#127

So every time there is glibc / openssl / anything else security update, We will have to update all appimage programs as well ?

With the new "statically link all the things" trend from go and rust, that's coming anyway.

Rust has always been capable of dynamically linking, and I believe that Go is gaining support for dynamic linking sometime in the future as well.

Re: AppImage: Linux apps that run anywhere

#128
post #18

Earlier quoted context omitted.

People making distos, as well as anyone who has been bitten by unreproducible binaries generated by hand-crafted/manually driven build processes. When I install software from a distro, it's been vetted and I can safely assume the software has a sane reproducible build process, or at a minimum, has had a sane reproducible build process added by the package maintainer. If a new standard wants to solve that process, I'm…

Nobody except weird Linux nerds and developers cares about any of the things you listed. Normal people just want to click a link and have their app install and run.

Yes but the logical extension of that argument is that people don't care about food-safety because they don't know what e-coli is.

And that is true.

Re: AppImage: Linux apps that run anywhere

#129

On my Linux Mint 17.3: 1. Downloaded the app, opened Nemo and double clicked on the app. Another Nemo window popped-up and the app didn't start. Opened terminal and checked permission to find that it wasn't executable. The point of the ease-of-use is kind of lost as user would be puzzled and give up. 2. How do I uninstall the app? Is it as simple as deleting the file? What if doing that leaves orphan files (that I do…

What if doing that leaves orphan files (that I don't know about) that double-clicking on the appimage file could have created? I'd imagine this is true for all packages like yum ect. How can this problem be solved?

With APT you can run apt-get purge to delete most configuration files and such, if it is packaged properly.

Re: AppImage: Linux apps that run anywhere

#130
post #6
post #5

Do you guys remember those "Portable" Windows executables?

I do - they worked find for me. Did they give you a hard time? I ask because of the quote marks around portable.

Some better than others- I was able to grab a copy of portable office (Office 2007?) that ran fantastic on x86. I also went through the trouble of sandboxing every one I ran due to the unknown packing mechanics... Cool stuff none the less
Post reply on HN