Six Practical Ways to Install Apps on Ubuntu (Beginner-Friendly Guide)

Ubuntu offers several ways to install applications. Understanding each method helps you pick the right tool, avoid duplicates, and maintain a clean system. This guide covers six installation methods, includes Windows, iOS App Store, and Android Play Store analogies, plus terminal examples where relevant.

Table of Contents


1. Ubuntu App Center (Graphical Store)

The App Center is simply the storefront, not a packaging format.

When to use it

  • You want the simplest point-and-click experience
  • You don’t care whether apps install as Snap, DEB, or Flatpak
  • You’re new to Linux and prefer a familiar app store interface

Pros

  • Easy to use
  • Integrated updates
  • Good for beginners
  • Ubuntu 24.04+ includes Flatpak support

Cons

  • Often installs Snap versions without warning
  • Not always the latest builds

Windows Analogy

Ubuntu App Center ≈ Microsoft Store

Mobile Analogy

≈ App Store (iOS) or Play Store (Android) — a graphical front-end listing apps, regardless of how they’re packaged.


2. APT (Ubuntu’s Package Manager)

APT is Ubuntu’s primary command-line package manager. It installs DEB packages from official Ubuntu repositories and handles all dependencies automatically.

When to use it

  • You’re following a tutorial that uses apt commands
  • You want system-integrated software with automatic dependency management
  • You need command-line tools or development packages
  • You want the most stable, tested versions

Pros

  • Automatic dependency resolution
  • Pulls from trusted Ubuntu repositories
  • Fast and lightweight
  • Easy updates with sudo apt update && sudo apt upgrade
  • Most reliable method for system utilities

Cons

  • Requires terminal/command line
  • Sometimes has older versions than Snap or Flatpak
  • Repositories might not include niche applications

Windows Analogy

APT ≈ Windows Package Manager (winget) — command-line installer from official repositories

Mobile Analogy

Installing from the official App Store/Play Store via command line (if that were possible)

Terminal Examples

Installing:

# Update package lists first
sudo apt update

# Install a package
sudo apt install <package-name>

# Search for packages
apt search <keyword>

Upgrading:

# Update package lists
sudo apt update

# Upgrade a specific package
sudo apt install --only-upgrade <package-name>

# Upgrade all installed packages
sudo apt upgrade

# Full system upgrade (handles dependency changes)
sudo apt full-upgrade

Uninstalling:

# Remove package but keep configuration files
sudo apt remove <package-name>

# Remove package and configuration files
sudo apt purge <package-name>

# Remove unused dependencies
sudo apt autoremove

3. DEB Packages (Manual Installation)

DEB is the classic installer format used by Debian- and Ubuntu-based systems. You download a .deb file directly from a developer’s website and install it manually.

When to use it

  • The developer provides an official .deb download on their website
  • The software isn’t available in Ubuntu repositories
  • You want native performance
  • You prefer non-containerized apps

Pros

  • Fast and lightweight
  • Uses system libraries
  • Direct from the developer

Cons

  • Updates require manual downloads (unless the DEB adds a repository)
  • Can break if dependencies aren’t available
  • Security risk if downloading from untrusted sources

Windows Analogy

DEB ≈ EXE installers — system-integrated, not containerized

Mobile Analogy

Closest equivalent: APK sideloading on Android (installing a standalone app package directly)

Where .deb files are stored

Usually in: ~/Downloads

Should you delete the .deb afterwards?

Yes. It’s only the installer.

Important Security Note

Only download .deb files from official developer websites or trusted sources. Verify checksums when provided.

Terminal Examples

Installing:

sudo dpkg -i file.deb

If you encounter dependency errors:

sudo apt --fix-broken install

Installing via GUI:

Double-click the .deb file in your file manager, and it will open in the App Center or Software Install tool.

Upgrading:

Manual DEB packages don’t auto-update. You need to:

  1. Download the new .deb file from the developer’s website
  2. Install it the same way (it will upgrade the existing version)

Some DEB packages add repositories during installation, enabling auto-updates via APT.

Uninstalling:

# Find the exact package name
dpkg -l | grep <partial-name>

# Remove the package
sudo apt remove <package-name>

# Or remove with configuration files
sudo apt purge <package-name>

You can also uninstall via the App Center GUI.


4. Snap Packages (Canonical’s Format)

Snap is a packaging and sandboxing format used heavily by Ubuntu.

When to use it

  • The app is officially distributed as Snap
  • You want auto-updates
  • You need an isolated/sandboxed application

Pros

  • Safe (sandboxed)
  • Auto-updates
  • Easy rollback to previous versions
  • Cross-distro compatibility

Cons

  • Often slower to launch
  • Larger disk footprint
  • Some file system access limitations due to sandboxing

Windows Analogy

Snap ≈ MSIX (self-contained, auto-updating, sandboxed)

Mobile Analogy

Similar to how iOS/Android install apps with bundled dependencies, ensuring consistent behavior across devices.

Terminal Examples

Installing:

sudo snap install <package>

Upgrading:

# Snaps auto-update by default, but you can manually update
sudo snap refresh <package>

# Update all snaps
sudo snap refresh

# Check for available updates
snap refresh --list

Uninstalling:

sudo snap remove <package>

# Remove a snap and its saved data
sudo snap remove --purge <package>

Listing installed:

snap list

5. Flatpak (with Flathub)

Flatpak is a cross-distro packaging system that competes with Snap.

When to use it

  • You want the newest versions
  • You want apps isolated from system dependencies
  • You prefer Flathub’s large catalog
  • The app isn’t available via APT or Snap

Pros

  • Updated frequently
  • Huge catalog on Flathub
  • Works across almost all Linux distros
  • Good sandboxing

Cons

  • May require adding Flathub manually (on older Ubuntu versions)
  • Larger disk usage than DEB
  • Can have similar startup delays as Snap

Windows Analogy

Flatpak ≈ MSIX packages distributed outside the Microsoft Store

Mobile Analogy

Equivalent to enabling a trusted external app repository, similar to:

  • Adding TestFlight sources (iOS, conceptually)
  • Adding external stores like F-Droid (Android)

Terminal Examples

One-time setup (if Flathub not already configured):

sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

Installing:

# Install an app
flatpak install flathub md.obsidian.Obsidian

# Search for apps
flatpak search <keyword>

Upgrading:

# Update a specific app
flatpak update md.obsidian.Obsidian

# Update all Flatpak apps
flatpak update

# Check for available updates
flatpak remote-ls --updates

Uninstalling:

# Remove an app
flatpak uninstall md.obsidian.Obsidian

# Remove unused runtimes and dependencies
flatpak uninstall --unused

Running and listing:

# Run an app
flatpak run md.obsidian.Obsidian

# List installed apps
flatpak list

Note: Ubuntu 24.04+ includes Flatpak support in the App Center, so you can install, update, and remove Flatpak apps graphically without terminal commands.


6. AppImage (Portable Executables)

AppImage is a single-file portable app that requires no installation.

When to use it

  • You want a fully portable app
  • You don’t want changes to your system
  • You want to try beta versions safely
  • You need multiple versions of the same app

Pros

  • No installation required
  • No dependencies
  • Works across most Linux distros
  • Fully portable (can run from USB drive)

Cons

  • No automatic updates
  • Not added to the app menu automatically
  • No centralized management

Windows Analogy

AppImage ≈ portable ZIP folder containing a portable EXE

Mobile Analogy

There is no iOS equivalent (iOS doesn’t allow portable apps).

Closest Android comparison: running a standalone APK extracted from a ZIP, but even that isn’t truly portable.

Where AppImages are stored

Usually downloaded to: ~/Downloads

Users often move them to custom folders like:

  • ~/Applications
  • ~/AppImages

(you create these folders manually)

Should you delete the AppImage?

No. The file is the app.

Integrating AppImages into your app menu

Consider using AppImageLauncher, which automatically integrates AppImages into your system menu.

Note: The PPA is deprecated. Instead, download the .deb package directly:

  1. Visit the AppImageLauncher releases page
  2. Download the appropriate .deb file for your system (usually amd64 for most computers)
  3. Install it:
cd ~/Downloads
sudo dpkg -i appimagelauncher_*.deb

If you encounter dependency errors, run:

sudo apt install -f

How AppImageLauncher works:

AppImageLauncher is not an app you open directly – it’s a background helper that automatically activates when you interact with AppImage files.

When you download an AppImage and double-click it (or try to run it), AppImageLauncher will intercept it and show a dialog asking:

  • “Do you want to integrate this AppImage into your system?”
  • Options to integrate it (moves it to ~/Applications and adds it to your app menu) or just run it once

To verify it’s installed:

which AppImageLauncher
# Should show: /usr/bin/AppImageLauncher

To see integrated AppImages:

ls ~/Applications

Note: The ~/Applications folder is created automatically the first time you integrate an AppImage. If you haven’t integrated any AppImages yet, this folder won’t exist.

Alternative: AppImageLauncher Lite

If you prefer not to install system-wide, try AppImageLauncher Lite, which is an AppImage itself and doesn’t require root access:

  1. Download appimagelauncher-lite*.AppImage from the releases page
  2. Make it executable: chmod +x appimagelauncher-lite*.AppImage
  3. Run: ./appimagelauncher-lite*.AppImage install

Important: Installing FUSE (Required for AppImages)

AppImages require FUSE (Filesystem in Userspace) to run. On newer Ubuntu versions, you may need to install it manually:

sudo apt install libfuse2

Common error without FUSE:

dlopen(): error loading libfuse.so.2
AppImages require FUSE to run.

If you see this error, install libfuse2 as shown above.

Terminal Examples

Installing/Running:

Make it executable (first time only):

chmod +x MyApp.AppImage

Run it:

./MyApp.AppImage

If you get a FUSE error:

sudo apt install libfuse2

Upgrading:

AppImages don’t auto-update. To upgrade:

  1. Download the new version from the developer’s website
  2. Delete or rename the old AppImage
  3. Make the new one executable and run it

Some AppImages have built-in update checkers that will notify you.

Uninstalling:

Simply delete the AppImage file:

rm ~/Applications/MyApp.AppImage

If you used AppImageLauncher, right-click the app in your menu and select “Remove”.


Summary Table

MethodUbuntu ConceptWindows AnalogyiOS/Android AnalogyBest For
App CenterStorefrontMicrosoft StoreApp Store / Play StoreBeginners, GUI users
APTSystem package managerwingetOfficial store CLISystem tools, CLI users
DEB (manual)Native installerEXE installerAPK sideloadDeveloper downloads
SnapModern sandboxed appsMSIXStandard mobile appAuto-updating apps
FlatpakUniversal sandboxed appsExternal MSIXF-Droid / external reposLatest versions
AppImagePortable executablePortable ZIP + EXENo real equivalentPortable apps, testing

Practical Recommendations

For complete beginners:

  • Start with App Center for most apps
  • Learn APT for following tutorials and installing development tools

For daily desktop apps:

  • Flatpak (Flathub) for the latest versions
  • APT for system utilities and command-line tools

For official developer downloads:

  • DEB packages from trusted sources

For portable/testing apps:

  • AppImage when you need something temporary or portable

For Snap:

  • Only use if no alternative exists, or if the app’s official distribution is Snap-only

Quick Decision Guide

“I want to install Firefox/LibreOffice/GIMP”
→ Use App Center or APT

“I’m following a tutorial that says sudo apt install
→ Use APT in the terminal

“I need the absolute latest version of OBS Studio”
→ Use Flatpak from Flathub

“The developer’s website has a .deb download”
→ Download the DEB and install it

“I want to test beta software without affecting my system”
→ Use AppImage

“I need multiple versions of the same app”
→ Use AppImage or Flatpak


Avoiding Duplicates

You can have the same app installed multiple ways simultaneously (e.g., Firefox as both a Snap and DEB). To avoid confusion:

Check what’s installed:

# List APT packages
dpkg -l | grep <package-name>

# List Snaps
snap list

# List Flatpaks
flatpak list

# Check for AppImages
ls ~/Applications ~/AppImages

Remove duplicates by uninstalling the versions you don’t want using the appropriate method.


Final Thoughts

Ubuntu’s flexibility in installation methods can seem overwhelming at first, but each serves a specific purpose. Start with the App Center and APT for everyday needs, then explore Flatpak and AppImages as you become more comfortable. Understanding these options will help you maintain a cleaner, more organized system.

Happy installing!

Share