Wie man die Abhängigkeiten eines Pakets in Linux auflistet, ohne das System zu beschädigen

Letzte Aktualisierung: 21/02/2026
Autor: Holger
  • In Linux sind Abhängigkeiten Pakete oder Bibliotheken, die andere Programme zum Funktionieren benötigen. Je nach Distribution können sie mit Tools wie apt-cache, apt-rdepends, rpm, yum, pactree, zypper und ldd aufgelistet werden.
  • In Debian/Ubuntu-Systemen werden hauptsächlich apt-cache depends, apt-rdepends, dpkg-deb und apt-get build-dep verwendet, um Paketabhängigkeiten in Repositories und einzelnen .deb-Dateien zu untersuchen.
  • In der Welt von RPM und Arch Linux ermöglichen Befehle wie rpm -qR, yum deplist, yum provides und pactree das Anzeigen sowohl direkter Abhängigkeiten als auch vollständiger Abhängigkeitsbäume und umgekehrter Abhängigkeiten.
  • Wenn beschädigte Pakete oder nicht erfüllte Abhängigkeiten auftreten, können diese mit dpkg --configure -a, apt-get -f install, Cache-Löschung, Synaptic oder, als letzte Möglichkeit, durch Bearbeiten der Datei /var/lib/dpkg/status repariert werden.

Auflisten der Abhängigkeiten eines Pakets in Linux

Wenn Sie GNU/Linux schon länger verwenden, haben Sie sich wahrscheinlich schon einmal gefragt, warum der Paketmanager beim Installieren eines Programms eine Menge "zusätzlicher" Dinge herunterlädt. Bibliotheken und zusätzliche Pakete sind die bekannten Abhängigkeiten.Und dieses Verständnis macht den Unterschied aus, ob man sein System beruhigt verwalten kann oder blindlings vorgeht und hofft, nichts kaputt zu machen.

Außerdem sieht man sehr häufig Tutorials oder Videos, in denen jemand eine Anwendung installiert und diese dann, wie von Zauberhand, hinzufügt. drei oder vier weitere Pakete ohne ErklärungDas schürt Misstrauen: Sind sie wirklich notwendig? Sollte das System das nicht von selbst regeln? In diesem Artikel gehen wir genau diesem Problem nach: Sie werden sehen Wie man die Abhängigkeiten eines Pakets in Linux auflistet (DEB, RPM, Pacman, Zypper…) und auch, wie man überprüft, welche Pakete voneinander abhängen, wie man Binärdateien untersucht und was zu tun ist, wenn Abhängigkeiten nicht mehr funktionieren.

Was ist eine Abhängigkeit und warum ist sie unter Linux so wichtig?

Paketabhängigkeiten in Linux-Systemen

Vereinfacht ausgedrückt ist eine Abhängigkeit Ein Paket (Programm oder Bibliothek), das ein anderes Programm oder eine andere Bibliothek benötigt, um korrekt zu funktionierenWenn Sie beispielsweise LibreOffice installieren, laden Sie nicht nur ein einzelnes Paket herunter: Das Haupt-„Metapaket“ enthält Dutzende von Grafikbibliotheken, Schriftarten, Systemintegrationstools usw.

Wenn ein Paket angibt, dass es weitere Pakete benötigt, kümmert sich der Paketmanager automatisch darum. diese Kette von Abhängigkeiten und Vorabhängigkeiten auflösenDas heißt, es lädt alles Notwendige herunter und installiert es, einschließlich der Abhängigkeiten der Abhängigkeiten, und so weiter, bis der Verzeichnisbaum geschlossen ist.

Das Problem entsteht, wenn eine dieser Bedingungen nicht erfüllt ist: wenn eine benötigte Bibliothek nicht mehr in den Repositories vorhanden ist, wenn Sie etwas aus einer schlecht verpackten externen Quelle installieren oder wenn Eine Installation oder Aktualisierung wird mitten im Prozess unterbrochen.Dann erscheinen die gefürchteten Meldungen über „nicht erfüllte Abhängigkeiten“ und „beschädigte Pakete“.

Eine Verpackung gilt als beschädigt, wenn Der Installationsstatus ist unvollständig oder widersprüchlich. mit dem Rest des Systems (z. B. entpackt, aber nicht konfiguriert, oder mit nicht erfüllten Abhängigkeiten). Ab diesem Zeitpunkt können Fehler beim Installieren, Aktualisieren oder Entfernen anderer Pakete auftreten, da das gesamte Abhängigkeitssystem instabil wird.

Deshalb ist es wichtig, das zu wissen. wie man prüft, was von was abhängt, und wie man etwas repariert, wenn etwas schiefgeht.Wir werden uns zunächst die häufigsten Fälle in Debian/Ubuntu (DEB)-basierten Systemen ansehen, dann in der RPM-Welt (Fedora, CentOS, RHEL, openSUSE) und schließlich in anderen Familien wie Arch Linux.

Abhängigkeiten von DEB-Systemen (Debian, Ubuntu und Derivate) auflisten

Im Debian- und Ubuntu-Ökosystem ist das Zählen von Abhängigkeiten sehr einfach, da der Werkzeugstapel sehr einheitlich ist: apt, apt-cache, dpkg und ergänzende Hilfsprogramme Da apt-rdepends praktisch alle Fälle abdeckt, die Sie täglich benötigen.

Listet die Abhängigkeiten eines Pakets auf, die in den Repositories mit apt-cache verfügbar sind.

Wenn sich das Paket in den konfigurierten Repositories befindet, können Sie mit folgendem Befehl sehen, was es benötigt:

apt-cache hängt von Paketname ab

Um beispielsweise zu sehen, wovon Vim abhängt:

apt-cache ist von vim abhängig.

Die Ausgabe enthält Zeilen wie „Abhängigkeiten:“, „Vorabhängigkeiten:“, „Empfehlungen:“ usw., die Sie auf einen Blick erkennen können. obligatorische und empfohlene AbhängigkeitenEs ist eine schnelle Möglichkeit, zu verstehen, was bei der Installation eines bestimmten Programms übernommen wird.

Für einen höheren Detaillierungsgrad können Sie es mit anderen apt-cache-Unterbefehlen kombinieren, wie zum Beispiel showpkgwelches auch umgekehrte Abhängigkeiten und Versionen anzeigt:

apt-cache showpkg vsftpd

Mit diesem Befehl sehen Sie neben den Paketen, von denen vsftpd abhängt, auch die anderen Pakete. Sie sind von vsftpd abhängig.Dies sind sehr nützliche Informationen, bevor man einen Dienst auf einem Produktionsserver deinstalliert.

Den vollständigen Abhängigkeitsbaum können Sie mit apt-rdepends anzeigen.

Wenn Sie nicht nur eine einfache Liste benötigen, sondern die rekursive Kette von Abhängigkeiten (Abhängigkeiten von Abhängigkeiten usw. im Detail), das Stern-Dienstprogramm ist apt-rdepends:

apt-rdepends Paketname

Dieses Tool ist normalerweise nicht standardmäßig installiert, daher müssen Sie es zuerst mit folgendem Befehl hinzufügen:

sudo apt-get install apt-rdepends

Nach der Installation ermöglicht apt-rdepends ein sehr leistungsstarkes Browser-Erlebnis. Einige nützliche Optionen sind:

  • -b (-build): zeigt die direkten Abhängigkeiten an, die zum Kompilieren des Pakets benötigt werden.
  • -p (-print-state): Enthält den Paketstatus und die Version in der Ausgabe.
  • -f (-follow=DEPENDS): Berücksichtigt Abhängigkeiten und Vorabhängigkeiten und erzeugt so einen umfassenderen Baum.

Sollten Sie einmal mit der Syntax nicht mehr weiterwissen, können Sie jederzeit im Handbuch des Tools nachschlagen:

man apt-rdepends

Automatische Installation von Build-Abhängigkeiten mit apt-get build-dep

In Entwicklungsumgebungen ist es sehr üblich, dass man alle Abhängigkeiten, die zum Kompilieren eines Pakets aus seinem Quellcode benötigt werdenGenau dafür dient der folgende Befehl:

  NVMe-Optimierung auf Linux-Servern: Ein vollständiger Optimierungsleitfaden

sudo apt-get build-dep Paketname

Dieser Unterbefehl durchsucht die Repositories nach Informationen über das Quellpaket und Es installiert alle Pakete, von denen sein Build-Prozess abhängt.Aber Achtung: Es wird nicht das Programm selbst installiert, sondern nur die Build-Abhängigkeiten.

Zum Beispiel beim Ausführen von:

sudo apt-get build-dep gmc

Das System zeigt eine Zusammenfassung wie „Folgende NEUE Pakete werden installiert…“ an und listet alle Entwicklungsbibliotheken auf, die hinzugefügt werden (-dev, Build-Tools usw.). Anschließend können Sie Ihren Code importieren mit:

apt-get source Paketname

und mit den üblichen Tools kompilieren. Das ist eine recht saubere Methode, die Umgebung vorzubereiten, ohne manuell nach Abhängigkeiten suchen zu müssen.

Liste der Abhängigkeiten einzelner DEB-Pakete (heruntergeladene .deb-Dateien)

Wenn das, was Sie haben, ein .deb-Datei manuell heruntergeladen (zum Beispiel von einer Website eines Drittanbieters) und Sie möchten die Abhängigkeiten vor der Installation überprüfen, können Sie das Low-Level-Tool dpkg-deb verwenden:

dpkg-deb -I mypackage.deb

Dieser Befehl zeigt den Paketkopf an, einschließlich des Felds „Abhängigkeiten:“, in dem Sie deutlich sehen können. Welche weiteren Pakete sollten auf dem System installiert sein? damit die .deb-Datei korrekt funktioniert. Es ist auch nützlich, wenn Sie mit alternative Pakete wie AppImageDenn es hilft Ihnen zu vergleichen, welche Abhängigkeiten das System verwaltet und welche das Paket selbst bereitstellt.

Es ist besonders nützlich in Umgebungen, in denen Sie möchten den Paketmanager nicht beschädigen, indem Sie externe Pakete ungeprüft einbinden. was sie beinhalten oder ob sie mit Ihrer Vertriebsversion kompatibel sind.

Weitere nützliche Befehle in DEB: apt, dpkg, dpkg-query, which, whereis und locate

Neben der Auflistung von Abhängigkeiten ist es hilfreich, einige Abfragebefehle zu beherrschen, um herauszufinden, ob ein Paket installiert ist und wo es sich befindetDies hilft Ihnen zu überprüfen, ob die Abhängigkeiten auf Ihrem System tatsächlich erfüllt sind.

  • apt -qq list Paketname: zeigt an, ob ein Paket installiert ist, zusammen mit Version und Architektur.
  • apt-cache policy Paketname: zeigt die installierte Version, den Versionskandidaten und das Quellcode-Repository an.
  • dpkg -l | grep -i Paketname o dpkg-query –list | grep -i PaketnameSie listen das Paket, seinen Status und seine Beschreibung aus der dpkg-Datenbank auf.
  • welche BinärdateiWenn sich die ausführbare Datei im PATH des Benutzers befindet, gibt die Funktion ihren Pfad zurück (z. B. /bin/nano).
  • wobei binär: zeigt nicht nur die ausführbare Datei, sondern auch zugehörige Dokumentation und Dateien (Manpages, Info usw.).
  • Muster finden: durchsucht die Standortdatenbank nach Dateien, sehr schnell, allerdings muss Locale installiert und aktualisiert sein.

Durch die Kombination dieser Tools mit apt-cache und apt-rdepends lässt sich eine recht umfassende Karte erstellen. Was ist installiert, wer nutzt es und was fehlt? damit alles zusammenpasst.

Abhängigkeiten und umgekehrte Abhängigkeiten in der RPM-Welt auflisten (Fedora, RHEL, CentOS, openSUSE)

RPM-basierte Distributionen bieten zahlreiche leistungsstarke Tools. Die Grundlage ist rpm, das direkt mit der Paketdatenbank arbeitet, und darauf aufbauend stützt es sich auf übergeordnete Manager wie z. B. yum (in klassischen Systemen) oder dnf (in moderneren Versionen von Fedora und Derivaten).

Überprüfen Sie die Abhängigkeiten eines installierten oder eines RPM-Pakets aus einem Repository.

Um rpm nach den Abhängigkeiten eines installierten Pakets zu fragen, lautet der typische Befehl:

rpm -qR Paketname

Die Wahl -qR (-erfordert) weist rpm an, eine Liste aufzulisten alle Pakete und Funktionen, von denen dieses Paket abhängtEs entspricht im Wesentlichen dem, was apt-cache depends in der DEB-Welt tut.

Wenn das, was Sie haben, ein lose .rpm-Datei (nicht installiert) und Sie möchten die Abhängigkeiten prüfen, bevor Sie es in das System einbinden, ändert sich der Befehl geringfügig:

rpm -qpR .rpm-Datei

Hier die -p Er gibt RPM den Befehl zu arbeiten. über eine Paketdatei auf der Festplatte anstatt auf installierten Paketen zu basieren.

Zusätzlich zu -R akzeptiert rpm sehr nützliche Kombinationen, um mehr Kontext zu erhalten: zum Beispiel, -ql Liste die im Paket enthaltenen Dateien auf. -qi Es bietet detaillierte Informationen (Zusammenfassung, Version, Gruppe usw.) und -V Überprüfen Sie die Integrität in Bezug auf die Datenbank (Eigentümer, Berechtigungen, Hashwerte usw.).

Abhängigkeiten auflisten, Abhängigkeiten umkehren und mehr mit Yum/DNF

Auf der RPM-Ebene vereinfachen Manager wie yum oder dnf die Abfrage und Auflösung von Abhängigkeiten sowie die Verwaltung von Repositories, Updates und des gesamten Softwarelebenszyklus erheblich.

Im Fall von yum gibt es mehrere sehr nützliche Unterbefehle, die direkt mit Abhängigkeiten zusammenhängen:

  • yum deplit Paketname: zeigt die Abhängigkeiten eines bestimmten Pakets an, ob es installiert ist oder in den Repositories verfügbar ist.
  • yum löste Abhängigkeit auf: Gibt die Pakete zurück, die eine bestimmte Abhängigkeit (Bibliotheksname, virtuelle Kapazität usw.) erfüllen.
  • yum bietet Pfad_oder_Datei: sagt dir Zu welchem ​​Paket gehört eine bestimmte Datei?Das ist sehr nützlich, wenn man weiß, welche Binärdatei oder Bibliothek fehlt, aber nicht, in welchem ​​Paket sie enthalten ist.

Auch mit yum info Paketname Sie können ausführliche Informationen über das Paket einsehen (einschließlich einer Zusammenfassung und des Quellcode-Repositorys) und mit yum list Paketname Sie vergleichen die installierte Version mit der zum Update verfügbaren Version.

In komplexeren Szenarien bietet yum außerdem eine Kurzanleitung für Aktionen wie Installieren, Aktualisieren, Löschen, Auflisten von Paketgruppen, Anzeigen aktiver Repositories, Verwalten des Transaktionsverlaufs und vieles mehr, sodass Sie nicht nur um Abhängigkeiten zu prüfen, sondern auch um zu verstehen, was, wann und von wo installiert wurde.

  So beheben Sie das Problem, wenn Chrome keine Videos oder Bilder lädt.

Ähnlichkeiten zwischen RPM- und Yum-Befehlen

Wenn Sie zwischen rpm und yum wechseln, ist es hilfreich, einige grundlegende Entsprechungen zu beachten, damit Sie nicht den Überblick verlieren:

  • Paket installieren: U / min -ivh o rpm -UvhYum installieren (Letzteres löst Abhängigkeiten auf und installiert sie.)
  • Paket entfernen: U/min -eyum entfernen.
  • Paketinformationen prüfen: rpm -qileckere Infos.
  • Suchen Sie nach einem Paket anhand des Namens: yum-Suchzeichenfolgerpm -qa | grep chain (Letzteres gibt Auskunft darüber, ob es installiert ist.)

Die Lehre aus der Geschichte ist, dass man bei Anfragen zu Abhängigkeiten, rpm liefert Ihnen die "rohen" Details und yum erleichtert die Problemlösung., Downloads und Massenoperationen an Paketen aus entfernten Repositories.

Abhängigkeiten in Arch Linux und Derivaten auflisten (Pacman / Pactree)

In Arch Linux und Pacman-basierten Distributionen (Manjaro, EndeavourOS usw.) steht Ihnen ein sehr leistungsstarkes und komfortables Werkzeug zur Visualisierung von Beziehungen zur Verfügung: PactreeIm Gegensatz zu den flachen Ausgaben anderer Systeme repräsentiert Pactree ein hierarchischer Abhängigkeitsbaum, auf einen Blick viel besser lesbar.

Um beispielsweise den Abhängigkeitsbaum von Vim zu untersuchen, können Sie Folgendes ausführen:

Pactree Vim

Die Ausgabe wird in einem ähnlichen Stil wie der Befehl „tree“ angezeigt, wobei jede Abhängigkeit und ihre Unterabhängigkeiten verzweigt dargestellt werden:

vim
├─vim-runtime
├─gpm
│ └─bash
│ ├─readline
│ │ ├─glibc
│ │ ├─linux-api-headers
│ │ ├─tzdata
│ │ └─Dateisystem
└─acl
└─attr
└─glibc

Wie Sie sehen können, ist es visuell sehr leicht nachzuvollziehen. Welche Pakete hängen an den einzelnen Ebenen?Wenn Sie die Perspektive umkehren und sehen möchten, welche Pakete von einem bestimmten Paket abhängen, können Sie auch andere Pacman-Tools verwenden, aber für die „Abwärts“-Ansicht ist Pactree kaum zu übertreffen.

Wenn Sie das Gerät optimal nutzen möchten, konsultieren Sie die entsprechenden Seiten im Handbuch:

Mann Pactree

Abhängigkeiten in SUSE und openSUSE auflisten (Zypper)

Bei Distributionen wie openSUSE und SLE ist der Referenz-Paketmanager zypperNeben der Installation, Aktualisierung und Deinstallation von Software ermöglicht es Ihnen auch die bequeme Überprüfung von Abhängigkeiten.

Um herauszufinden, welche Abhängigkeiten ein bestimmtes Paket, beispielsweise vim, benötigt, können Sie Folgendes verwenden:

zypper info – benötigt Vim

Dieser Befehl zeigt die üblichen Paketinformationen (Name, Version, Repository usw.) sowie eine Liste der Anforderungen an. alle Abhängigkeiten, die im System vorhanden sein müssen.Es entspricht dem "Depends" in apt-cache oder dem "Requires" in rpm -qR.

In Kombination mit anderen zypper-Optionen (wie Mustersuche, Repository-Auflistung usw.) ermöglicht es Ihnen die Pflege eine recht feine Kontrolle darüber, welche Pakete welche Bibliotheken enthalten innerhalb der SUSE-Umgebung.

Wie man herausfindet, welche Pakete voneinander abhängen (umgekehrte Abhängigkeiten)

Genauso wichtig wie zu wissen, wovon ein Paket abhängt, ist zu wissen welche anderen Pakete davon abhängenDiese umgekehrte Abhängigkeitsprüfung ist unerlässlich, bevor man etwas scheinbar "harmloses" deinstalliert, das in Wirklichkeit auf der Hälfte des Systems verwendet werden könnte.

Auf Debian/Ubuntu-Systemen können Sie Folgendes verwenden:

  • apt-cache rdepends Paketname: Zeigt die Liste der Pakete an, die von dem angegebenen Paket abhängen.
  • apt-cache showpkg PaketnameZusätzlich zu Informationen über das Paket und seine Abhängigkeiten enthält es einen Abschnitt „Umgekehrte Abhängigkeiten“ mit den Paketen, die es benötigen.

In der RPM-Welt bietet yum auch verschiedene Anzeigemöglichkeiten:

  • yum deplit PaketnameAnhand der Ausgabe kann man indirekt erkennen, wer zu welcher Abhängigkeit beiträgt.
  • yum bietet file_or_capabilityHier erfahren Sie, welche Pakete eine bestimmte Bibliothek oder Datei bereitstellen, sodass Sie daraus schließen können, Was würde sich ändern, wenn man es entfernen würde?.

Durch die Kombination dieser Abfragen lassen sich Fragen wie „Wenn ich diese Bibliothek entferne, welche Anwendungen funktionieren dann nicht mehr?“ leicht beantworten. Und das ist in einer Server- oder kritischen Desktop-Umgebung Gold wert.

Untersuchen Sie die Abhängigkeiten von Binärdateien mit ldd

Abgesehen von Paketmanagern könnte es Sie manchmal interessieren, mehr darüber zu erfahren, Welche dynamischen Bibliotheken verwendet eine bestimmte Binärdatei?Zum Beispiel, um einen Ladefehler oder ein Problem mit libc-Versionen zu beheben.

Das Standardwerkzeug hierfür in Unix-ähnlichen Systemen ist lddDie grundlegende Anwendung ist sehr einfach:

ldd /Pfad/zur/Binärdatei

Die Ausgabe zeigt alle gemeinsam genutzten Bibliotheken an, die die Binärdatei benötigt, zusammen mit dem Pfad, von dem sie aufgelöst werden, und der Laderichtung. Wenn eine Bibliothek als „nicht gefunden“ angezeigt wird, wissen Sie, dass sie nicht gefunden wurde. Eine Abhängigkeit fehlt im System oder befindet sich nicht in einem gültigen Suchpfad.

Wenn Sie die Informationen detaillierter einsehen und die internen Abhängigkeiten der Bibliotheken selbst verfolgen möchten, können Sie Folgendes verwenden:

ldd -v /Pfad/zur/Binärdatei

Die Option -v liefert zusätzliche Informationen und kann Ihnen helfen, Versionen, exportierte Symbole und andere Details zu überprüfen, die in Produktionsumgebungen oft den Unterschied zwischen einem erfolgreichen Start und einem stillen Absturz ausmachen.

Reparatur beschädigter Pakete und nicht erfüllter Abhängigkeiten auf Debian/Ubuntu-Systemen

Egal wie vorsichtig man ist, früher oder später stößt man auf ein System, das sich beschwert über Beschädigte Pakete, nicht erfüllte Abhängigkeiten oder SperrdateienBevor man in Panik gerät, ist es wichtig, das Konzept zu verstehen und eine vernünftige Reihenfolge für die Wiederherstellung einzuhalten.

Ein fehlerhaftes Paket tritt üblicherweise auf, wenn eine Installation oder ein Upgrade unterbrochen wird, wenn fehlerhafte externe Pakete installiert werden oder wenn Inkompatible Repositories werden vermischtDas typische Symptom: Man kann nichts installieren oder aktualisieren, weil apt sich weigert, fortzufahren, bis der Konflikt gelöst ist.

  So greifen Sie unter Linux mit systemctl und systemd auf Firmware-Einstellungen (BIOS/UEFI) zu und aktualisieren diese

Erster Versuch: dpkg und apt zur Neukonfiguration und Reparatur

Der erste logische Schritt ist, dpkg aufzufordern, die noch nicht abgeschlossene Konfiguration zu beenden:

sudo dpkg --configure -a

Dieser Befehl erzwingt die Konfiguration aller entpackten, aber noch nicht konfigurierten Pakete. Falls noch Skripte für die Nachinstallation ausstehen, werden diese nun ausgeführt. Oftmals ist dies bereits ausreichend. „Inkohärente Zustände werden aufgelöst.“.

Sollte es immer noch nicht funktionieren, empfiehlt es sich, den lokalen .deb-Cache zu leeren, um beschädigte Überreste zu vermeiden. Speicherplatz freigeben:

sudo apt-get clean && sudo apt-get autoclean

Als Nächstes generieren wir die Repository-Informationen neu und lassen apt versuchen, die Abhängigkeiten mithilfe der Option „fix“ neu zu erstellen:

sudo apt-get update –fix-missing
sudo apt-get install -f

Die Kombination von –Fix fehlt y -f (-fix-broken) Dies weist darauf hin, dass man versuchen sollte, inkonsistente Pakete und nicht erfüllte Abhängigkeiten zu beheben, indem man die benötigten Pakete installiert oder repariert. Es ist eine der effektivsten Methoden, bevor man zu drastischeren Maßnahmen greift.

Wenn weiterhin eine Sperrmeldung wie „Konnte nicht gesperrt werden“ angezeigt wird, liegt möglicherweise Folgendes vor: veraltete SperrdateienIn diesem Fall und nur wenn Sie sicher sind, dass kein apt- oder dpkg-Prozess ausgeführt wird, können Sie diese entfernen:

sudo rm /var/lib/apt/lists/lock && sudo rm /var/cache/apt/archives/lock && sudo rm /var/lib/dpkg/lock

Wiederholen Sie anschließend die vorherige Befehlsfolge (configure, clean, update, install -f), um zu prüfen, ob das System wieder in einen fehlerfreien Zustand zurückkehrt.

Entfernen Sie das beschädigte Paket manuell mit dpkg.

Wenn das Problem weiterhin besteht, muss im nächsten Schritt genau ermittelt werden, was die Ursache dafür ist. Welches Paket ist beschädigt?. Hierzu können Sie verwenden:

sudo dpkg -l | grep ^..r

Pakete, deren Status ein „r“ enthält, weisen darauf hin, dass unvollständige oder defekte InstallationenSobald Sie den Namen identifiziert haben, können Sie versuchen, ihn gewaltsam zu entfernen:

sudo dpkg –remove –force-remove-reinstreq Paketname

Dieser Befehl zwingt dpkg, das in Konflikt stehende Paket zu entfernen, selbst wenn dessen Zustand inkonsistent ist. Anschließend wird der Cache geleert und die Pakete werden erneut aktualisiert.

sudo apt-get clean && sudo apt-get autoclean
sudo apt-get update und sudo apt-get dist-upgrade

Wenn das System ohne Probleme aktualisiert wird, ist es höchstwahrscheinlich so, dass Sie haben die Paketdatenbank in einen stabilen Zustand zurückversetzt. und Sie können Ihre Arbeit wie gewohnt fortsetzen.

Verwenden Sie Synaptic, um beschädigte Pakete grafisch zu reparieren.

Wenn Sie eine eher visuelle Herangehensweise bevorzugen oder jemandem helfen, der mit dem Terminal weniger vertraut ist, können Sie den Paketmanager verwenden. Synaptisch Es bleibt ein sehr wirkungsvolles Werkzeug.

Installieren Sie es zunächst (falls Sie es noch nicht haben):

sudo apt-get installiert synaptisch

Öffnen Sie es dann und:

  1. Aktivieren Sie die Filter und wählen Sie den Filter aus Gebrochen.
  2. Suchen Sie das Paket, das beschädigt aussieht.
  3. Klicken Sie mit der rechten Maustaste darauf und wählen Sie «Aktivieren, um die Deinstallation vollständig durchzuführen».
  4. Wenden Sie die Änderungen so an, dass Synaptic versucht Entfernen Sie das problematische Paket und erstellen Sie die Abhängigkeiten neu..

Zusätzlich im Menü Bearbeiten → Beschädigte Pakete reparierenSynaptic beinhaltet eine automatische Option, die versucht, Inkonsistenzen in Batches zu beheben, wodurch Ihnen mehrere manuelle Schritte erspart werden können.

Letzter Ausweg: Bearbeiten Sie die dpkg-Statusdatei.

Wenn alle anderen Möglichkeiten scheitern, bleibt noch eine anspruchsvolle und heikle Option: Bearbeiten Sie direkt die Datei /var/lib/dpkg/statusDort speichert dpkg den Status jedes installierten Pakets.

Die Idee ist, die Datei mit einem Texteditor im Superuser-Modus zu öffnen:

sudo nano /var/lib/dpkg/status

Sobald Sie sich im Inneren befinden, suchen Sie nach dem Block, der das defekte Paket beschreibt (er beginnt mit "Package: Paketname" und enthält mehrere Felder wie "Status:", "Version:" usw.) und Löschen Sie den gesamten BlockEs ist, als würde man seine Existenz aus der dpkg-Datenbank löschen.

Änderungen speichern, Editor schließen und anschließend ausführen:

sudo apt-get clean && sudo apt-get update && sudo apt-get dist-upgrade

Wenn keine weiteren Unstimmigkeiten auftreten, sollte das System funktionsfähig sein. Diese Methode sollte mit Vorsicht angewendet und, wenn möglich, durch eine Sicherungskopie der Statusdatei ergänzt werden, falls die Änderung rückgängig gemacht werden muss.

Mit diesem Arsenal an Befehlen – apt-cache, apt-rdepends, rpm, yum, pactree, zypper, ldd sowie den Reparaturtools dpkg und apt – haben Sie nun einen ziemlich umfassenden Überblick über Wie man in Linux die Abhängigkeiten eines Pakets auflistet, erkennt, was von was abhängt, und wie man reagiert, wenn etwas schiefgeht.Die Beherrschung dieser Werkzeuge gibt Ihnen nicht nur Sicherheit bei der Installation von Software, sondern versetzt Sie auch in die Lage, die Systemmeldungen bei jedem Fehler zu interpretieren und fundierte Entscheidungen zu treffen, anstatt im Dunkeln zu tappen.

wie man Flatpak-Pakete verwaltet
In Verbindung stehender Artikel:
Wie man Flatpak-Pakete unter Linux komfortabel und sicher verwaltet