Jarkko's guides
You are here: Home » Linux » Software packages

Software packages

Debian

Debian was the first distribution to have a good package system that handles dependencies. If you want to install a software package it figures out what other packages are needed and installs those as well. The tool is called APT (advanced package tool). It is also used in distributions that are derived from Debian, like Ubuntu and Linux Mint.

Configuration file /etc/apt/sources.list defines which repositories (package sources) to use. https://wiki.debian.org/SourcesList explains the format of the lines. An example line:

deb http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware

Run this command to update your local list of packages with the repositories in /etc/apt/sources.list:

sudo apt-get update

To install a package (and its dependencies):

sudo apt-get install my_package

To search for packages:

sudo apt-cache search_term

To list all installed files from a package:

dpkg-query -L package_name

RPM

RPM (which originally stood for Red Hat Package Manager) is a packaging system developed for Red Hat, but other distributions also use RPM packages. The basic program for installing a separate RPM package files is rpm.

Different distributions have created they own layer on top that can handle dependencies:

  • YUM (Yellowdog Updater, Modified): One of the earlier tools that was used in distributions like Red Hat Enterprise Linux and CentOS.
  • DNF (Dandified YUM): The modern replacement for YUM, introduced in Fedora and later adopted by Red Hat Enterprise Linux.
  • YaST (Yet Another Setup Tool): The default tool for openSUSE and SUSE Enterprise Linux.
  • Zypper: A command-line package manager for openSUSE and SUSE Enterprise Linux.

Flatpak and Snap

These are two competing solutions for self-contained packages and universal app distribution, meaning that the same app can be used on any Linux distribution.

Flatpak:

  • Is used for desktop apps
  • The main app store is Flathub: https://flathub.org
  • Other app stores (called “repositories”) are allowed and exist
  • The app runs in a sandbox
  • Comes preinstalled on Fedora, some Ubuntu flavors, Linux Mint

Snap:

  • For desktop apps and server tools
  • Developed by Canonical (the company behind Ubuntu)
  • The only app store is Snap Store (by Canonical): https://snapcraft.io/store
  • The packages (called “snaps”) run in a sandbox
  • Comes preinstalled on Ubuntu

AppImages

These are completely self-contained executables that run on any Linux system without installation. No daemon or runtime is needed (like with Flatpak and Snap). You can simply run them directly. AppImages are often simply made available on the website of the creator.

Docker

Docker images are also self-contained pieces of software. They contain everything they need to run in their own sandbox (called the Docker container).

I use these on my Synology NAS. Only a handful of programs picked by Synology can be installed directly on the NAS. A whole wealth of other software is available in the form of Docker images.

Previous Next

ALL THE TOPICS ON THIS WEBSITE:

Linux

Raspberry Pi

Digital room correction

Web design

By Jarkko Huijts
Jarkko's guides

Table of Contents

Table of Contents

  • Software packages
    • Debian
    • RPM
    • Flatpak and Snap
    • AppImages
    • Docker

LINUX

  • Intro
  • History
  • Open source
  • Distributions
  • Command line
  • Tool help
  • Remote access
  • Directory hierarchy
  • Basic commands
  • Viewing & editing files
  • Processes
  • GNU & other utilities
  • Users & permissions
  • Partitions & mounting
  • System administration
  • Software packages
  • Desktop environments
  • Scripting
  • Audio

AVAILABLE TOPICS

  • Linux
  • Raspberry Pi
  • Digital room correction
  • Web design