Package type

Types of software packages in Linux:

Linux uses different package management systems, each with its own package format. Some common formats:

  1. DEB: Used in operating systems such as Debian, Ubuntu and their derivatives.
  • Management tools: dpkg, apt, aptitude
  • Package format: .deb
    1. RPM: Used in operating systems such as Red Hat, CentOS, Fedora, openSUSE.
  • Management tools: rpm, dnf, yum
  • Package format: .rpm
    1. TAR: Aggregate package format, usually containing source code or uncompiled software.
  • Management tool: tar (for unpacking)
    1. Snap: A package system independent of system dependencies, popular on Ubuntu and some other distributions.
  • Management tool: snap
    1. Flatpak: A package system similar to Snap, which allows software to run on many distributions.
  • Management tool: flatpak

1. Binary packages

→ Precompiled, installed and run immediately.

For example:

  • .deb on Debian, Ubuntu
  • .rpm on Red Hat, Fedora
  • .snap, .flatpak, .appimage are new formats

2. Source packages

→ Contains source code, needs to be compiled before use.

Example:

  • .tar.gz or .tar.xz in Arch Linux (PKGBUILD)
  • Source from GitHub, use make, cmake, ninja to build

Specific package classification:

Package Disstro used Install with
firefox.deb Ubuntu, Debian apt or dpkg
vlc.rpm Fedora, RHEL dnf, rpm
brave.snap Ubuntu (snap) snap
gimp.flatpak Multiple distros flatpak