Install .deb, .rpm, AppImage, Flatpak and tar.gz Files on Linux
# .deb (Ubuntu, Debian, Mint) - the ./ matters
sudo apt install ./package.deb
# .rpm (Fedora / openSUSE)
sudo dnf install ./package.rpm
sudo zypper install ./package.rpm
# AppImage (any distro)
chmod +x App.AppImage
./App.AppImage
# Flatpak bundle or ref file
flatpak install ./app.flatpakref
Before using any of these, check whether the app is in your distro's repositories or on Flathub. That way it updates with the rest of the system.
Which format should you pick?
Many projects offer several downloads. In rough order of preference:
- Your distro's repository (
apt,dnf,pacman,zypper): tested for your release, updated automatically. See the package managers guide. - Flathub: sandboxed, works on every distro, updates through
flatpak updateor the software center. - The vendor's own repository: many
.deb/.rpmdownloads (Chrome, VS Code, Signal) add one during install so you get updates. - A one-off .deb/.rpm: doesn't update itself unless it adds a repository.
- AppImage: a single portable file, no install, no automatic updates unless the app has its own updater.
- tar.gz: prebuilt binaries or source code; the most manual option.
A .deb or .rpm runs install scripts as root and can add repositories and change system files. Only install packages from the project's official site, check the published SHA-256 checksum with sha256sum file, and be wary of "download" sites that repackage software. Never run an installer script with curl ... | sudo bash without reading it first; download it, read it, then run it.
Install a .deb on Ubuntu, Debian and Linux Mint
cd ~/Downloads
sudo apt install ./google-chrome-stable_current_amd64.deb
Without ./, apt searches the repositories for a package with that name and fails with "Unable to locate package". With it, apt installs the local file and pulls dependencies from your repositories.
On Mint and Ubuntu you can also double-click the file: Mint opens it in the package installer, Ubuntu in App Center. The terminal gives clearer errors.
If you used dpkg -i and got dependency errors, finish the job with apt:
sudo dpkg -i package.deb
# dpkg: dependency problems prevent configuration of ...
sudo apt -f install
Inspect a .deb before installing:
dpkg -I package.deb # name, version, dependencies
dpkg -c package.deb # files it will install
If apt refuses because dependencies can't be satisfied, the package was built for a different release (for example a Debian 12 build on Ubuntu 26.04). See held broken packages and dpkg error code 1. More apt detail is in the apt guide.
Install an .rpm on Fedora and openSUSE
# Fedora
sudo dnf install ./package.rpm
# openSUSE
sudo zypper install ./package.rpm
Both resolve dependencies from the enabled repositories. Check signatures and contents first:
rpm -qpi package.rpm # info
rpm -qpl package.rpm # file list
rpm -K package.rpm # signature/digest check
If rpm -K reports a missing key, import the vendor's key from their website with sudo rpm --import URL, not by disabling GPG checks. RPMs built for RHEL/CentOS often work on Fedora; openSUSE uses different package names for some libraries, so prefer an openSUSE-specific build or the openSUSE software portal.
Arch Linux: no .deb or .rpm
Arch uses its own package format. For software outside the official repos, use the AUR (Arch User Repository), which builds a native package from a PKGBUILD:
sudo pacman -S --needed base-devel git
git clone https://aur.archlinux.org/package-name.git
cd package-name
less PKGBUILD # read it: it runs on your machine
makepkg -si
Many AUR packages (-bin suffix) just unpack the vendor's .deb for you. Tools like debtap convert .deb files, but the result often has wrong dependencies; prefer the AUR, Flatpak or AppImage. Install a local Arch package file with sudo pacman -U file.pkg.tar.zst.
Run an AppImage
chmod +x ~/Downloads/App-x86_64.AppImage
~/Downloads/App-x86_64.AppImage
Without chmod +x you'll get "Permission denied". Most AppImages need FUSE version 2, which newer distros don't install by default. The error looks like this:
dlopen(): error loading libfuse.so.2
AppImages require FUSE to run.
Install the FUSE 2 library (not the fuse package itself on Ubuntu, which can remove parts of the desktop on some releases):
| Distro | Command |
|---|---|
| Ubuntu 24.04+, Mint 22.x | sudo apt install libfuse2t64 |
| Ubuntu 22.04, Debian 12 | sudo apt install libfuse2 |
| Debian 13 | sudo apt install libfuse2t64 |
| Fedora | sudo dnf install fuse-libs |
| Arch | sudo pacman -S fuse2 |
| openSUSE | sudo zypper install libfuse2 |
Without FUSE, you can unpack and run it: ./App.AppImage --appimage-extract then ./squashfs-root/AppRun.
Electron AppImages on Ubuntu 24.04 and later
Ubuntu restricts unprivileged user namespaces through AppArmor, which breaks the Chromium sandbox in many Electron AppImages ("The SUID sandbox helper binary was found, but is not configured correctly"). Running with --no-sandbox works but removes a security layer. The safer fixes are using the app's .deb, Snap or Flatpak, or adding an AppArmor profile for that AppImage path as described in Ubuntu's documentation. Don't disable the restriction system-wide.
To get an AppImage into your app menu, move it to ~/Applications or ~/.local/bin and create a .desktop file in ~/.local/share/applications/, or use Gear Lever (Flathub) to manage AppImages.
Flatpak bundles and refs
# add Flathub once (Fedora and Mint have it already)
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
# .flatpakref: a pointer to an app in a repository
flatpak install ./app.flatpakref
# .flatpak: a self-contained bundle (no automatic updates)
flatpak install --user ./app.flatpak
flatpak list --app
Ubuntu doesn't ship Flatpak by default: sudo apt install flatpak, then log out and back in.
tar.gz and other archives
First look inside to see whether it's prebuilt or source:
tar -tf app.tar.gz | head
mkdir -p ~/.local/opt
tar -xf app.tar.gz -C ~/.local/opt
ls ~/.local/opt/app*
- Prebuilt binary (a
bin/folder or a single executable): run it from there and link it into your PATH, e.g.ln -s ~/.local/opt/app/bin/app ~/.local/bin/app. Per-user installs need no sudo; use/optfor all users. - Source code (
configure,CMakeLists.txt,meson.build): read the README. The classic flow is./configure && make && sudo make install, which installs into/usr/localand isn't tracked by your package manager. Install build tools first (build-essential,@development-tools,base-devel).
If a prebuilt binary complains about missing libraries, see error while loading shared libraries. If it wants a newer glibc than your distro has, see GLIBC version not found. The tar cheat sheet covers other archive types.
Verify and uninstall
| Installed as | Check | Remove |
|---|---|---|
| .deb | apt list --installed | grep name | sudo apt remove name |
| .rpm (Fedora) | rpm -qa | grep name | sudo dnf remove name |
| .rpm (openSUSE) | rpm -qa | grep name | sudo zypper remove name |
| AUR / pacman -U | pacman -Qm | sudo pacman -Rns name |
| Flatpak | flatpak list | flatpak uninstall app.id |
| AppImage | ls ~/Applications | Delete the file and its .desktop entry |
| make install | ls /usr/local/bin | sudo make uninstall from the source dir, if supported |
If a vendor .deb or .rpm added a repository, remove it too: look in /etc/apt/sources.list.d/ or /etc/yum.repos.d/.
Common problems
- "Unable to locate package package.deb": you forgot
./or the path. - "package architecture (arm64) does not match system (amd64)": wrong download. Run
uname -mand pick x86_64/amd64 or aarch64/arm64 to match. The same mismatch with a binary gives Exec format error. - "Depends: libxyz but it is not installable": the package targets another release. Find a build for your version, or use Flatpak.
- "N: Download is performed unsandboxed as root": a harmless notice when the .deb is in a folder the
_aptuser can't read. Ignore it or move the file to/tmp. - AppImage does nothing when double-clicked: run it from a terminal to see the error, usually FUSE or the sandbox issue above.
Frequently asked questions
Should I use dpkg -i or apt install for a .deb?
Use sudo apt install ./file.deb. It resolves and installs dependencies automatically, while dpkg -i stops with dependency errors that you then have to fix with sudo apt -f install.
Why won't my AppImage run?
Make it executable with chmod +x. If it then complains about libfuse.so.2, install FUSE 2: libfuse2t64 on Ubuntu 24.04+, fuse-libs on Fedora, fuse2 on Arch.
Can I install a .deb on Fedora or an .rpm on Ubuntu?
Not reliably. Converting with alien often produces broken dependencies. Look for a native package, a Flatpak, an AppImage or the distro's own repository instead.
How do I uninstall something I installed from a .deb file?
Find its package name with dpkg -I file.deb | grep Package or apt list --installed | grep name, then sudo apt remove package-name.
Spotted a mistake or a command that no longer works? Send a correction — pages are re-checked when reports come in.