So listen Sie Abhängigkeiten eines Pakets in Ubuntu auf

Im Gegensatz zu Windows, macOS und Android wird Software auf Ubuntu – und Linux im Allgemeinen – nicht als einzelnes Paket verteilt. Stattdessen lädt der Paketmanager Ihres Systems beim Installieren einer Anwendung mehrere Pakete herunter, einschließlich des Hauptanwendungspakets und seiner Abhängigkeiten. Dies gilt jedoch nur für die traditionelle Paketinstallation unter Linux, dh die Verwendung von Paketmanagern.

Zu wissen, welche zusätzlichen Abhängigkeiten während einer Installation heruntergeladen werden, kann sowohl für Anfänger als auch für fortgeschrittene Benutzer von Vorteil sein. Auf diese Weise hat man die vollständige Kontrolle über die auf seinem System installierten Pakete.

Schauen wir uns an, wie Sie die Abhängigkeiten eines Pakets unter Ubuntu überprüfen können.

Was sind Paketabhängigkeiten?

Abhängigkeiten sind unterstützende Pakete, die für das ordnungsgemäße Funktionieren einer Anwendung unter Linux erforderlich sind. Wenn Sie beispielsweise den VLC Media Player auf Ubuntu herunterladen möchten, installiert APT zusätzlich zum primären Paket „ vlc “ einige zusätzliche Pakete wie libc6 und gcc . Eine Abhängigkeit kann auch andere Pakete als Abhängigkeiten haben und somit eine hierarchische Struktur bilden.

Da Linux-Pakete voneinander abhängig sind, erfordert fast jede Software zusätzliche Pakete, die Sie auf Ihrem System installieren müssen.

Obwohl Paketmanager wie APT die Verwaltung und Installation dieser Abhängigkeiten automatisieren, treten Fehler auf, wenn Sie versuchen, das Paket manuell aus der Quelle zu erstellen. Sie können solche Fehler jedoch beheben, indem Sie einfach die erforderliche Abhängigkeit auf Ihrem System mit dem Befehl apt install installieren .

So überprüfen Sie Paketabhängigkeiten in Linux

Glücklicherweise gibt es unter Ubuntu mehrere Möglichkeiten, eine Liste der Abhängigkeiten eines Pakets zu erhalten. APT, der standardmäßige Paketmanager in Ubuntu- und Debian-basierten Distributionen, bietet mehrere Befehle, um abhängigkeitsbezogene Informationen eines Pakets zu erhalten.

Verwenden des APT-Paketmanagers

Sie können APT in Ubuntu verwenden, um eine Liste der mit einem Paket verbundenen Abhängigkeiten abzurufen. Die grundlegende Syntax des Befehls lautet:

 sudo apt depends packagename

Um beispielsweise Abhängigkeiten für das rhythmbox- Paket zu überprüfen:

 sudo apt depends rhythmbox

Neben der Liste der Abhängigkeiten enthält die Ausgabe auch empfohlene und vorgeschlagene Pakete, die Sie zusammen mit rhythmbox installieren können .

So listen Sie Abhängigkeiten eines Pakets in Ubuntu auf - apt depends get dependencies

Alternativ können Sie auch den Befehl apt-cache verwenden , um dieselbe Ausgabe zu erhalten.

 sudo apt-cache depends rhythmbox

Um zusätzliche Informationen zu einem bestimmten Paket abzurufen, verwenden Sie die show -Methode anstelle von abhängig .

 sudo apt show rhythmbox
sudo apt-cache show rhythmbox

Ausgabe:

So listen Sie Abhängigkeiten eines Pakets in Ubuntu auf - get depdendencies using apt show

Auflisten von Abhängigkeiten mit dpkg

Wenn Sie ein DEB-Paket auf Ihr System heruntergeladen haben und wissen möchten, welche Abhängigkeiten zusammen mit dem Paket installiert werden, können Sie das Flag -I ( großes i, nicht kleingeschriebenes L) oder –info mit dem Befehl verwenden.

 sudo dpkg -I /path/to/package.deb
sudo dpkg --info /path/to/package.deb

…wobei /path/to/package.deb der absolute oder relative Pfad zur DEB-Datei ist.

Die Ausgabe zeigt die Größe des Pakets, die Quelle und andere nützliche Informationen zusammen mit der Liste der Abhängigkeiten an.

So listen Sie Abhängigkeiten eines Pakets in Ubuntu auf - get dependencies of a dpkg package

Um die Liste der Abhängigkeiten für ein installiertes Paket abzurufen, verwenden Sie das Flag -s mit dpkg. Zum Beispiel:

 sudo dpkg -s firefox

Ausgabe:

So listen Sie Abhängigkeiten eines Pakets in Ubuntu auf - using dpkg to get dependencies of a package

Verwandte: Was ist der Unterschied zwischen APT und dpkg in Ubuntu?

Verwenden von apt-rdepends

Um eine detailliertere Ausgabe zu erhalten, können Sie das Dienstprogramm apt-rdepends verwenden. Da es auf den meisten Linux-Distributionen nicht vorinstalliert ist, müssen Sie es mit APT manuell auf Ubuntu installieren.

 sudo apt install apt-rdepends

Verwenden Sie das folgende Befehlsformat, um den Abhängigkeitsbaum für ein Paket abzurufen:

 apt-rdepends packagename

Zum Beispiel:

 apt-rdepends vlc

Ausgabe:

So listen Sie Abhängigkeiten eines Pakets in Ubuntu auf - apt rdepends get dependency information

Die generierte Ausgabe ist im Allgemeinen lang, da apt-rdepends einen vollständigen hierarchischen Baum von Abhängigkeiten anzeigt, was bedeutet, dass Sie auch die Liste der Abhängigkeiten einer Abhängigkeit erhalten.

Sie können auch eine Liste von Paketen abrufen, die von einem bestimmten Paket abhängen. Um beispielsweise zu überprüfen, welche Pakete libc als Abhängigkeit benötigen:

 apt-rdepends -r libc

Ausgabe:

So listen Sie Abhängigkeiten eines Pakets in Ubuntu auf - reverse dependencies using apt rdepends

Das umgekehrte Dienstprogramm

Obwohl die umgekehrte Abhängigkeitsfunktion (das Flag -r ) von apt-rdepends besser funktioniert als erwartet, gibt es noch ein weiteres Dienstprogramm, das Sie verwenden können, um umgekehrte Abhängigkeiten eines Pakets zu extrahieren. Der reverse-depends-Befehl ist Teil des ubuntu-dev-tools- Pakets und kann heruntergeladen werden mit:

 sudo apt install ubuntu-dev-tools

Die Standardsyntax des Befehls lautet:

 reverse-depends options packagename

…wobei Optionen die Flags sind, die Sie mit dem Befehl verwenden können und Paketname der Name des Pakets ist, für das Sie die Abhängigkeiten umkehren möchten.

Sie können dem oben genannten Befehl auch verschiedene Flags hinzufügen, um die Ausgabe zu ändern. Hier ist eine Liste der nützlichsten Optionen:

  1. -R : Nur direkte Abhängigkeiten auflisten (keine vorgeschlagenen oder empfohlenen Pakete)
  2. -s : Vorgeschlagene Pakete einschließen
  3. -l : Präsentieren Sie die Ausgabe in einem saubereren Format, das für die Verwendung in Skripten geeignet ist

Falls Sie nicht wissen , wie Sie das Tool verwenden, und Befehlszeilenhilfe benötigen , verwenden Sie das Flag –help oder -h .

 reverse-depends -h
reverse-depends --help

Abrufen der Abhängigkeitsliste mithilfe einer simulierten Installation/Entfernung

Für diejenigen, die eine kurze Liste aller Abhängigkeiten wünschen, die derzeit nicht auf dem System installiert sind, können Sie eine simulierte Installation (oder Deinstallation) eines bestimmten Pakets ausführen.

Um beispielsweise die vom PHP-Paket benötigten Abhängigkeiten zu überprüfen, führen Sie den folgenden Befehl aus:

 sudo apt install -s php

Die Ausgabe enthält einen Abschnitt "Die folgenden zusätzlichen Pakete werden installiert". Alle weiter aufgelisteten Paketnamen sind Abhängigkeiten, die auf Ihrem System nicht gefunden wurden.

So listen Sie Abhängigkeiten eines Pakets in Ubuntu auf - dependencies using simulated install

Wenn Sie eine Liste der Abhängigkeiten für ein bereits auf Ubuntu installiertes Paket erhalten möchten, können Sie eine simulierte Deinstallation durchführen, um zu überprüfen, welche zusätzlichen Pakete damit entfernt werden.

 sudo apt remove -s packagename

Beispiel:

 sudo apt remove -s rhythmbox

Ausgabe:

So listen Sie Abhängigkeiten eines Pakets in Ubuntu auf - dependencies information using a simulated removal

Linux-Pakete sind voneinander abhängig

Wie Sie aus diesem Handbuch ziemlich gut entnehmen können, hängt fast jedes Linux-Paket von einem anderen Paket ab. Das Hauptprinzip hinter diesem Konzept ist, dass auf Linux-basierten Betriebssystemen jedes Paket eine einzelne Aufgabe erfüllen soll, und zwar gut.

Wenn ein Paket für die Verwaltung von Audiodiensten entwickelt wurde, listen andere Programme dieses Paket einfach als ihre Abhängigkeit auf und verwenden es, um ihre Audioanforderungen zu erfüllen.

Falls mehrere Anwendungen dasselbe Paket erfordern, wird es nur einmal auf dem System installiert, wodurch Datenredundanz verhindert und Speicherplatz auf der Festplatte gespart wird. Sie können auch mit APT eine Liste aller derzeit auf Ihrem System installierten Pakete abrufen.