Which is your favorite application installation method?

Hi everyone, which is your favorite installation method and why? Snap, Flatpak, AppImage, etc.
Thanks!

I moved this topic to the ā€œLoungeā€ category, since it asks for opinions and not for support.

3 Likes

Thank you very much and sorry.

My Installation Method Hierarchy: ā€œIt Dependsā€

I don’t have a single ā€œfavoriteā€ installation method because the best choice depends entirely on the specific software and situation. After years of managing Ubuntu systems, I’ve developed a decision hierarchy that prioritizes stability, security, and maintainability.

My Current Setup (Ubuntu 24.04)

  • 140+ Snaps installed (mix of apps and content snaps)
  • 5000+ DEBs from various sources
  • 10 Flatpaks (though I rarely use them)
  • Several AppImages downloaded (but none in regular use)

Decision Hierarchy

1. Official Repository DEBs (First Choice)

If the software is available in Ubuntu’s official repositories with a recent enough version, this wins every time. These packages are:

  • Thoroughly tested for Ubuntu compatibility
  • Automatically updated through the standard system
  • Follow Debian packaging standards
  • Have proper dependency management

2. Snaps (When Official Repos Fall Short)

When the official repo version is outdated or the software isn’t available there, Snaps are my go-to if they’re:

  • Up-to-date
  • Actually functional (some Snaps have integration issues)
  • Maintained by the upstream developer or Canonical

Pros: Auto-updates, sandboxing, easy installation Cons: (Sometimes) Slower startup, (sometimes) larger disk usage, (occasional) desktop integration issues

3. Upstream Developer DEBs

Direct DEBs from the software developer’s website or GitHub releases often provide:

  • Latest versions before they hit repos
  • Official support from developers
  • Familiar DEB packaging

4. Semi-Official Community Repos

PPAs or repos maintained by upstream contributors or trusted community members. These require more caution but can provide well-maintained packages.

5. Flatpaks

While I have them installed, I find Flatpaks useful for:

  • Cross-distro compatibility
  • Sandboxed applications
  • When other methods aren’t available

Note: My inherent familiarity with, and availability of debs and snaps keep flatpaks lower on the list.

6. Compile from Source

For bleeding-edge software that hasn’t been packaged yet. This gives me:

  • Latest features and fixes
  • Custom compilation options
  • Full control over the build process

7. Language-Specific Package Managers

  • Python: uv for creating isolated environments with PyPI packages
  • Node.js: npm environments for JavaScript applications

These keep language-specific dependencies isolated and manageable.

8. AppImages (Last Resort)

Only when no other option exists, typically for:

  • Proprietary software with no alternative packaging
  • One-off applications I’m testing
  • Software that refuses to be packaged properly

Why last? No automatic updates, no integration with package management, and they often bundle outdated libraries.

Key Principles

  1. Security First: Official repos and well-maintained sources reduce security risks
  2. Maintainability: Prefer methods that integrate with system updates
  3. Stability: Tested packages over bleeding-edge when possible
  4. Integration: Native packaging usually provides better desktop integration
  5. Dependency Management: Let the package manager handle dependencies when possible

The goal is a system that’s secure, maintainable, and doesn’t break unexpectedly. What’s your approach?

8 Likes

Flatpak is actually very similar to Snap, is it? As long as you install official applications, maintained and uploaded by the app developer themselves.
I know Snap is from Canonical, and therefore I understand that there will be more Snap supporters than Flatpak supporters on the forum, but I’m asking objectively.
My main goal will always be security and reliability.

Thank you very much for your message; I found it very interesting.

Sure, there are similarities between Snap and Flatpak. Flathub has fewer applications, and way fewer command-line applications - many of which I use.

1 Like

I understand. Security-wise, I assume both Snap and Flatpak will be valid and very secure (as long as trusted packages are installed).
How do you manage so many packages and so many types of installations?
How do you keep track and manage everything?
Thanks!

I turn on automatic updates for debs and snaps. So they just update in the background without much in the way of management.

I periodically remove some packages that I know I don’t use anymore. That’s all.

1 Like

I understand. If Snap/flatpak sandboxes applications, wouldn’t they be more secure than the debs themselves?

As always, it depends on what you mean by ā€œsecureā€.

No malware, no malicious code, frequent updates, no unnecessary permissions

I know of no malware delivered in the official deb repository. Nor am I aware of any shipping in Flathub. Both have a ā€˜gate’ in place, which makes it difficult (but I’m sure, not impossible) to achieve.

There have been numerous occasions where malware has made it into the Snap Store, however.

In theory, Snap and Flatpak lend themselves to rapid update delivery. But that is entirely dependent on the publisher of the snap/flatpak. Some automation can be implemented to achieve regular, well tested, secure updates. But if the publisher has no automation, and is the single individual with the ā€˜keys’ to upload, then the package may get dated. Repositories (debs) have less of this problem, because there is a community of developers who work together on publishing packages, rather than blocking on one person.

1 Like

It seems that a combination of deb with /snap/flatpak would be best.

4 Likes

I’ll respond to this, so there is another view, but @popey has already given a great response, and I’m not that different.

I have ~2700 deb packages installed; 21 snap packages, & no flatpaks or appimages, and haven’t needed compile from source in a ~decade. I’m using my primary system right now, which runs Ubuntu development or questing, so in most cases my deb files are pretty current anyway.

My first goto is always Ubuntu repository software, esp. deb packages.

My second is by preference a snap package, unless I’m aware of a well maintained PPA from reputable source that is better, or flatpak, appimage too. For any of these options I tend to do some research [first] into who maintains the package/app, and I’ll use this detail to decide which I’ll use (eg. if a maintainer I’ve decided I’ll trust tells me they support PPA & flatpak but recommend flatpak; I’d likely use the flatpak in that case).

I do trust the deb packages in Ubuntu repositories, but for any other (including snap, flatpak, ppa, appimage) my default is I don’t want them on my system, UNTIL i’ve researched who created them, where from & reached a certain ā€œcomfortā€ level that I trust the creator/packager & thus will use them. (I’m familiar enough with Debian/Ubuntu procedures to be comfortable & thus already trust the default repository software).

1 Like

My first choice would be installed with APT from the official Ubuntu repositories either Deb or Snap, whatever the default installation is.

Always native .deb packages where I can find them with Flatpak as a fallback when required.

Let me give you an example.
I installed the Brave browser.
On its website, the installation methods are listed. The main one indicated that I had to add a PPA to Ubuntu. I don’t really like adding different PPAs to Ubuntu; I want to keep it as clean and controlled as possible.
So, another option Brave offers is to install via Flatpak, where it literally says, ā€œBrave is available as a Flatpak package on Flathub. However, although it is maintained by Brave Software, it still doesn’t work as well as our official packages. We currently recommend that users use our official package repositories instead of Flatpak if they can.ā€ (It says the same thing for Snap.)

As you can see, in this case, the software would be maintained by the software developer themselves, so I decided this would be a better way to install the software instead of adding yet another PPA to my Ubuntu list.

Is this one of the cases you’re referring to?

Thank you for your help, sir.

My primary choice will always, always, always be the deb packages from Ubuntu’s apt repository. I think we can all agree on that.
Perhaps the question is more focused on what to do after this, when that software isn’t in those repositories.

1 Like

Thank you for your opinion.

I agree, always included .deb packages but if I cannot find what I need then I will gladly download a .deb package from a trusted site like Steam, Heroic, Firefox etc. with Flatpak being a last resort.