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.
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:
uvfor 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
- Security First: Official repos and well-maintained sources reduce security risks
- Maintainability: Prefer methods that integrate with system updates
- Stability: Tested packages over bleeding-edge when possible
- Integration: Native packaging usually provides better desktop integration
- 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?
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.
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.
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.
It seems that a combination of deb with /snap/flatpak would be best.
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).
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.
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.