Broadway

Complete News World

What are the package dependencies?  – GNU / Linux

What are the package dependencies? – GNU / Linux

Tuesday, March 14, 2023, Ralph Hersel

Note: This article is for Linux beginners.

You may have heard about package dependencies in Linux and wondered what they are. Dependencies may seem confusing, but there are tools in Linux that ensure that every program you install contains all the components you need.


Linux dependencies are the things a program needs to run. That’s because Linux developers tend to write software in a modular way. This goes back to the “Unix philosophy” of building programs from smaller components.

Dependencies are usually shared libraries. They can be used for things like accessing databases, using network protocols, or drawing graphic elements on the screen. Dependencies can also be complete programs. A common pattern in the Linux world is to develop a front-end GUI for an existing terminal program, such as Pamac for Pacman on Arch-based distributions.


Using shared libraries makes development easier because developers don’t have to find new ways to build an application each time. You can download the source code from the Free Software Project website and try to compile it yourself. You often get an error message that something is missing. This is because these projects do not ship any dependencies with their software. They assume it’s either already installed or that you’re ready to do so.

To mitigate this problem, Linux distributions began to include package management tools that would find dependencies, download them from the Internet, install them, and update them as new versions appeared.

Flatpak and Snap are the latest attempts to manage dependencies by shipping with an app. In this way, the dependencies and the application can be kept in better synchronization. Developers have more control over how the application behaves when it reaches the user. However, this increases the size of applications, as all dependencies are always included, even though they may already be there.

All package managers are able to unpack dependencies for an application. Below is an example of application dependencies gimpprovided by Manjaro Pamac package manager:


Depending on the distribution and package manager used, the commands for showing dependencies look different:

  • Debian-based: apt show [Paketname]
  • Bow based: Pacman -Si [Paketname]
  • Manjaro: Pamak information [Paketname]
  • Red Hat based: dnf deplist [Paketname]

With modern container shape flatback, Package dependencies cannot be displayed because dependent packages are provided in the container or provided by the runtime environment. Using an example application Daringwe see that the runtime environment org.gnome.platform/x86_64 in ver 43 Uses:

The runtime includes a variety of packages required (in this example) Gnome applications. If you want to know more about it, go to this side Available environments and their contents.

If you still want to know the packages Daring Required, one of the above commands can be used. Package managers provide this information regardless of whether the application is installed. For Audacity, the command is: Audacity information pamak.

Dependencies aren’t that ambiguous on Linux. They show how Linux programs are built from smaller components.

source: https://linuxkurs.ch/kurs/Programme.html