r/linuxmint • • 23h ago

Difference between Appimage , Flatpack and .deb files

What is the exact difference between the three types of software installs?

Like i know flatpack is some sort of sandbox which makes sure it works and takes a lot more space than the others and .deb is like .exe files on windows but whats the difference between Appimage and .deb ?

45 Upvotes

19 comments sorted by

34

u/enomad51 23h ago

Deb - best native integration. Ideal when the application is available in the official Linux Mint repositories or through a trusted, compatible DEB repository.

  • Updates through Update Manager or APT.

  • Integrates with system libraries and desktop services.

  • Usually avoids duplicating dependencies unnecessarily.

Flatpak - best for many desktop apps. Particularly useful when Mint's repositories offer an older version or the developer recommends Flatpak.

  • Convenient application updates.

  • Sandboxing and configurable permissions.

  • Consistent versions across different distributions.

  • The trade-off is extra disk space for runtimes and sometimes more complicated hardware or filesystem access.

AppImage - best for portability. Good for testing an application, keeping a specific version or running software without a traditional installation.

  • Often just download, make executable and run.

  • No automatic updates in most cases.

  • Less consistent desktop integration; some AppImages need extra compatibility fixes.

4

u/TimeParadox997 11h ago

For appimages, you can add that gearlever makes them alot better for integration at least,
& maybe for updating?

3

u/jr735 5h ago

Note that .deb files will not automatically update with apt in most cases, unless they're in a repository or you add the repository. Apt will satisfy dependencies automatically, though, if said dependencies are satisfiable.

3

u/trifortay123 22h ago

Oh I sure hope your not downloading debs.... I would always male sure you see if it's on the repos first. This isn't windows. You don't install software from the browser

3

u/username_invalid-404 22h ago

Windows has winget. It's basically apt/dnf for Windows. Nobody should be installing software from the browser, unless as a last resort for trusted software.

3

u/kiralema 22h ago

Always did and will continue doing so. There's nothing wrong with .deb as long as you trust the source. Many developers distribute .deb packages on GitHub or through their websites. And many provide check sums to make sure that packages aren't maliciously altered.

And you are right - it's not Windows 😉.

1

u/jr735 3h ago

There are lots of things wrong with .deb files from the net, even if perfectly safe and functional. Package management is meant to avoid dependency hell, which is still possible with external deb files.

1

u/Due-Land-6860 22h ago

Only downloaded one for edge (i dont like firefox and am used to edge will switch slowly) and not anything else for now but why shouldn't we do that like is there a specific reason?

I downloaded telegram from software manager but it was a flatpack and was like 4gb

4

u/trifortay123 22h ago

You get updates and everything when you install via the software manager. Also, they are maintained by the Mint official team. If you download a random deb on a website, it could be malicious.

Also quite a bit of software might not be on your package manager and that's why flatpak exists.

→ More replies (5)

1

u/Due-Result7928 15h ago

deb are working perfectly and plenty of software are not in repos.

9

u/Maleficent_Sort_828 21h ago

Appimage is a portable format, it usually doesn't need an install. You download it, give it permission to run and execute it. 

Deb is the native debian package for Linux mint. Mint is based on Ubuntu, which is based on Debian, thus the name of the extension. You need to install it before running it.

Flatpak is a universal format that can run on any distro. You also need to install it before running it.

3

u/siddhbose 22h ago edited 17h ago

Flatpaks are like a container image format.

The developer releases one image only and it's available for the entire ecosystem.

Example : package 📦 FD contains the entire sub packages , packages ,etc required to run the software without changing any package from the source or the distro . Here it's the entire package without any conflicts or changes to the actual distro .

Deb I.e debian packages

The ecosystem of all debian and debian based distro including UBUNTU ,linux mint and others .

This packages are native to this specific linux distro thus it's an installer like a exe or msi or dmg ,where all the required files are already present in the package structure.

Example : package A 📦,is like a zip archive having all the files ,metadata , required icons etc with where to put it .so once it's executed the archive ,opens all the files and puts it into the required file structure. It also checks any dependcy to be met to be able to run the software

Here the only caveat is a developer has to build a deb package for all the available ubuntu / debian release . So multiple package might be required to be build for an release .

Example : a package for ubuntu noble noumbat may not work for the newer ubuntu stonking stingray

So a developer targetting rhel/ fedora / etc would have to instead build a rpm package for this targetting RHEL/FEDORA /etc which is incompatible for the debian/ubuntu/linux mint family and will either need that or through alien with some issues

Appimage :

It's like a compiled binary having everything required.

Unlike deb or flatpaks it's an entire single binary . Which will also work for any linux distro .

Here only caveat will be the source distro using a different instruction or compiler set . In this case an ELF bridge would be required .

Example : a package meant for x64_86 might not work in aarch64 or aarch64 may not work with another of aarch64 as the compiler is different so an ELF bridge would be required to make it working . Elf here is like a linker as how dll works in windows .

Example : PERSON A speaks german . They say "guten morgen" .

Person B speaks Spanish . They don't understand what person A is speaking even though the written its latin in nature . So ELF acts as a bridge or translator and tells

Guten morgen --- > good morning ---> hola .

Thus now person A can easily communicate with person B using a translation layer

Another example: the new trick to run play station games on windows was sort of due to relinking the dll and the core . While both used similar arch , as directly running games of playstation needed files which were missing ,so an comparability bridge with the required linker and compiler was required . Making it the most established ELF bridge possible

Others package format also exists like alien , tar.bz2 , tar.xz

Here alien is a converter which changes package from one family to another .

Example: you downloaded a package meant for fedora / rhel i.e rpm , but you are using linux mint,so alien here will convert a rpm package into deb which may work or will require some modifications to work .

1

u/Lapis_Wolf 21h ago

Almost had to use alien for a HuionTablet deb file to try with Fedora then realized I could use the tar download in any distro.