Ubuntu

So verhindern und beheben Sie Paketabhängigkeitsfehler in Ubuntu

So verhindern und beheben Sie Paketabhängigkeitsfehler in Ubuntu
Paketabhängigkeitsfehler können in Ubuntu nach der Installation einiger Apps auftreten. Entscheidungen, die von Benutzern während der Installation getroffen werden, oder Probleme auf Systemebene, die außerhalb der Kontrolle der Benutzer liegen, können zu beschädigten Paketen führen.

Wenn Sie Wörter wie „unerfüllte Abhängigkeiten“, „kaputte Pakete“, „Pakete wurden zurückgehalten“ in der Terminalausgabe sehen, besteht die Möglichkeit, dass Sie Abhängigkeitskonflikte haben. In diesem Artikel werden einige Methoden aufgelistet, die verwendet werden können, um diese Art von Abhängigkeitsfehlern zu verhindern und zu beheben. Beachten Sie, dass die unten vorgeschlagenen Methoden nicht in beliebiger Reihenfolge sind.

Pakete aktualisieren

Das allererste, was im Fehlerfall zu tun ist, ist den Update-Befehl auszuführen. Es aktualisiert alle offiziellen und Drittanbieter-Repositorys, die Sie zu Ihrem System hinzugefügt haben, und ruft eine neue Liste von Paketen ab. Wenn Sie den Update-Befehl vom Terminal aus ausführen, wird die schrittweise Einführung offizieller Ubuntu-Pakete über den GUI-Updater umgangen, sodass Sie immer die neueste Paketliste erhalten.

Sie können Repositorys aktualisieren, indem Sie den folgenden Befehl ausführen:

$ sudo apt-Update

Paket-Download-Server ändern

Wenn Sie beim Ausführen des obigen Aktualisierungsbefehls die Fehlermeldung "Paket nicht finden können" erhalten, versuchen Sie, die Download-Spiegel zu ändern. Ubuntu-Pakete werden Endbenutzern von Servern auf der ganzen Welt bereitgestellt. Manchmal sind von diesen Servern nur teilweise oder fehlerhafte Paketupdates verfügbar, was zu Fehlern während des Updates führt. Dieses Problem wird normalerweise nach einer Weile automatisch behoben, wenn alle Ubuntu-Pakete in diesen Spiegeln korrekt geklont wurden. Sie können den Spiegelspeicherort jedoch manuell ändern, um dieses Problem zu beheben.

Um den Download-Server zu ändern, starten Sie die App „Software & Updates“ über den App-Launcher. Auf der Registerkarte „Ubuntu-Software“ wird die Auswahl von „Hauptserver“ in der Dropdown-Liste „Herunterladen von“ fast garantiert, dass alle Probleme mit der Paketverfügbarkeit behoben werden. Die Download-Geschwindigkeit kann jedoch je nach Standort und Nähe zu den Servern niedrig sein. Ubuntu wählt standardmäßig einen Server aus, der Ihnen basierend auf Ihrem aktuellen Standort die maximale Geschwindigkeit bietet. Sie können es überschreiben, indem Sie einen beliebigen aufgelisteten Server auswählen oder auf "Besten Server auswählen" klicken, um die Auswahl auf Ubuntu zu belassen.

Upgrade-Pakete

Durch das Aktualisieren installierter Pakete können Abhängigkeitsfehler behoben werden. Zum Aktualisieren von Ubuntu-Paketen stehen zwei Befehle zur Verfügung, die beide unterschiedliche Verhaltensweisen aufweisen:

Die Befehle zum upgrade bzw. dist-upgrade sind:

$ sudo apt-Update
$ sudo apt dist-upgrade

Zwischengespeicherte und verbleibende Pakete bereinigen

Der Paketmanager „apt“ von Ubuntu speichert heruntergeladene Pakete in einem Cache-Ordner. Wenn Sie das nächste Mal ein bereits zwischengespeichertes Paket neu installieren müssen, holt Ubuntu das Deb-Paket aus dem Cache-Ordner, anstatt es erneut vom Server herunterzuladen. Das Löschen dieses Caches räumt Speicherplatz auf und hilft in einigen Fällen auch bei der Behebung von Abhängigkeits- und Installationsfehlern.

Der Paketcache von Apt kann durch Ausführen des folgenden Befehls gelöscht werden:

$ sudo apt clean

Es gibt einen weiteren apt-Befehl „autoclean“, der den Paketcache löscht. Anstatt jedoch den gesamten Ordner zu löschen, werden nur Pakete entfernt, die von Repository-Servern entfernt wurden.

$ sudo apt autoclean

Machen Sie eine Scheininstallation

Es ist möglich, die Installation eines Pakets zu simulieren, um mögliche Fehler während der realen Installation zu überprüfen. Führen Sie den folgenden Befehl aus, während Sie „Paketname“ durch Ihren gewünschten Paketnamen (ohne Anführungszeichen) ersetzen, um eine Scheininstallation durchzuführen.

$ sudo apt install --dry-run „Paketname“

Eine Scheinentfernung kann auf die gleiche Weise durchgeführt werden:

$ sudo apt remove --dry-run „Paketname“

Defekte Pakete reparieren

Es ist möglich, beschädigte Pakete und unerfüllte Abhängigkeiten zu haben, insbesondere wenn Sie mehrere Pakete gleichzeitig installieren. Der folgende Befehl versucht, diese Probleme zu beheben, indem er entweder defekte Abhängigkeiten installiert und repariert oder ein Paket vollständig entfernt, das für den Abhängigkeitskonflikt verantwortlich ist.

$ sudo apt -f install

Konfigurieren von Paketen, die aufgrund von Unterbrechungen nicht installiert werden konnten

Manchmal hört der apt-Paketmanager abrupt auf, Pakete zurückzulassen, die nicht eingerichtet werden konnten. Diese Unterbrechungen sind normalerweise auf Faktoren zurückzuführen, die außerhalb der Kontrolle des apt-Paketmanagers liegen. Wenn Sie beispielsweise das Terminal versehentlich geschlossen haben oder sich Ihr PC plötzlich ausschaltet, kann apt die Einrichtung nicht abschließen. Durch Ausführen des folgenden Befehls werden Paketfehler und Abhängigkeitsprobleme behoben, die sich aus diesem Problem ergeben.

$ sudo dpkg --configure -a

Verwenden Sie PPA-Purge

Ein „Personal Package Archive“ oder ein PPA ist ein Software-Repository, das es Ubuntu-Benutzern ermöglicht, neue Pakete aus inoffiziellen Quellen zu aktualisieren oder zu installieren. PPA-Purge ist ein Tool, das diese PPA-Quellen von Drittanbietern entfernt und von PPAs installierte Pakete auf Standardversionen herunterstuft. Die Verwendung von PPA-Purge löst alle Abhängigkeitskonflikte, die sich aus Paketen ergeben, die vom PPA installiert oder aktualisiert wurden. Um die PPA-Purge-Befehlszeilen-App in Ubuntu zu installieren, führen Sie den folgenden Befehl aus:

$ sudo apt install ppa-purge

Führen Sie zum Bereinigen eines PPA den Befehl im folgenden Format aus:

$ sudo ppa-purge „ppa:Adresse“

Zum Beispiel, Geany Texteditor PPA hinzugefügt von Hier kann durch Ausführen des Befehls gelöscht werden:

$ sudo ppa-purge ppa:geany-dev/ppa

Verwenden Sie den Aptitude-Paket-Manager

Der Aptitude-Paketmanager kann anstelle des standardmäßigen apt-Paketmanagers in Ubuntu verwendet werden, um Abhängigkeitsfehler zu beheben. Aptitude ist neuer als der apt-Paketmanager und bietet zusätzliche Optionen, ein terminalbasiertes Frontend und allgemeine Benutzerfreundlichkeit. Aptitude kombiniert viele apt-Optionen in einem einzigen Befehl, sodass Sie nicht mehrere Befehle ausführen müssen, um Fehler zu beheben.

Wenn Sie beispielsweise den aptitude-Paketmanager verwenden, um auch nur ein einzelnes Paket zu entfernen, erhalten Sie die Möglichkeit, nicht verwendete und übrig gebliebene Pakete zu entfernen, während es in apt einen separaten Befehl gibt, um dasselbe zu tun. Aptitude ist bei der Lösung von Abhängigkeitskonflikten viel intelligenter als apt, es gibt normalerweise detailliertes Feedback zur Lösung von Konflikten mit mehreren Optionen, die vom Benutzer ausgewählt werden können. Ich stelle immer sicher, dass aptitude und PPA-Purge auf meinem System installiert sind, bevor ich irgendwelche sehr experimentellen Pakete erhalte.

Aptitude kann durch Ausführen des folgenden Befehls installiert werden:

$ sudo apt installiere aptitude

Aptitude und apt teilen sich viele Befehlszeilenoptionen, wobei Aptitude einige Unterschiede aufweist. Sie können alle Eignungsoptionen erkunden von Hier.

Ubuntu Desktop-Paket neu installieren

Durch die Neuinstallation des Pakets „ubuntu-desktop“ werden wichtige Pakete abgerufen, die standardmäßig in Ubuntu installiert wurden. Es wird alle Pakete erhalten, die vom ubuntu-desktop-Metapaket abhängig sind. Um ubuntu-desktop neu zu installieren, führen Sie den folgenden Befehl aus:

$ sudo apt install --reinstall ubuntu-desktop

Beachten Sie, dass der obige Befehl nur wesentliche Kernpakete und keine Apps wie Firefox, Thunderbird, Videoplayer usw. installiert.

Entfernen oder deaktivieren Sie PPAs vor dem Upgrade auf eine neuere Version von Ubuntu

Auch wenn Ubuntu alle PPAs deaktiviert, bevor ein System-Upgrade durchgeführt wird, sollten Sie alle PPAs von Drittanbietern manuell entfernen, um unerfüllte Abhängigkeitsfehler während und nach einem System-Upgrade zu vermeiden. Der beste Weg, dies zu tun, ist, den oben beschriebenen PPA-Purge-Befehl auszuführen.

Sie können auch nur PPA-Repositorys entfernen. Dies kann jedoch eventuelle Abhängigkeitsfehler während des Upgrades nicht verhindern. PPAs können auf zwei Arten entfernt werden, die erste erfordert die Verwendung der Befehlszeile und die zweite erfordert die Verwendung einer GUI-App. Beachten Sie, dass diese Methoden nur PPA-Repositorys entfernen und alle zuvor aktualisierten oder installierten Pakete im System zurücklassen.

Um ein PPA über die Befehlszeile zu entfernen, führen Sie den folgenden Befehl im folgenden Format aus:

$ sudo add-apt-repository --remove „ppa:name“

Zum Beispiel, Geany Texteditor PPA hinzugefügt von Hier kann durch Ausführen des Befehls entfernt werden:

$ sudo add-apt-repository --remove ppa:geany-dev/ppa

Um ein PPA mit der GUI-Methode zu entfernen, müssen Sie normalerweise die App „Software & Updates“ über den App-Launcher starten. Aufgrund eines Fehlers in Ubuntu funktioniert diese Methode jedoch nicht immer und PPAs können nicht deaktiviert werden.

Um dies zu umgehen, müssen wir den Synaptic-Paketmanager installieren, der ein Frontend für apt ist. Führen Sie den Befehl aus, um Synaptic zu installieren:

$ sudo apt install synaptic

Starten Sie „Synaptic Package Manager“ über den App-Launcher. Klicken Sie auf „Einstellungen“ > „Repositories“. Gehen Sie zur Registerkarte „Andere Software“ und klicken Sie auf ein PPA, das Sie entfernen möchten, um es zu markieren. Klicken Sie unten auf die Schaltfläche "Entfernen", um das PPA aus dem System zu entfernen. Sie können ein PPA auch deaktivieren, ohne es zu entfernen, damit es nach dem System-Upgrade wieder aktiviert werden kann. Deaktivieren Sie dazu einfach das Kontrollkästchen vor einem PPA. Nachdem Sie die obigen Schritte befolgt haben, schließen Sie das Fenster „Software & Updates“. Wenn Sie aufgefordert werden, die Repositorys zu aktualisieren, klicken Sie auf die Schaltfläche „Neu laden“.

Seien Sie vorsichtig, wenn Sie dem System neue PPAs hinzufügen

In den meisten Fällen treten Abhängigkeitsfehler auf, wenn PPAs von Drittanbietern verwendet oder Deb-Pakete aus inoffiziellen Quellen installiert werden. Es besteht auch die Möglichkeit, dass Malware über ein PPA in Ihr System eindringt. Daher sollten Sie immer vorsichtig sein, wenn Sie Ihrem System zufällige PPA hinzufügen. Fügen Sie nur ein PPA hinzu, wenn Sie der Quelle und den Betreuern / Entwicklern vertrauen trust. Auch wenn wir bisher noch nichts von Malware oder Adware gehört haben, die über PPAs verbreitet wird, besteht immer ein Risiko, da es sich um Repositorys von Drittanbietern handelt, deren Pakete nicht von Ubuntu-Entwicklern überprüft wurden.

Fazit

Dies sind einige Methoden, die verwendet werden können, um Abhängigkeitsfehler in Ubuntu zu beheben und zu verhindern. Die Dinge neigen dazu, kaputt zu gehen, besonders wenn Sie Ubuntu als Ihre Hauptentwicklungsumgebung mit Tonnen von Drittanbieter-Apps und Befehlszeilentools verwenden. Die meisten dieser Abhängigkeitsfehler können jedoch minimiert werden, indem Apps aus offiziellen, renommierten und vertrauenswürdigen Quellen installiert werden.

Mittlere Maustaste funktioniert nicht unter Windows 10
Das mittlere Maustaste hilft Ihnen beim Scrollen durch lange Webseiten und Bildschirme mit vielen Daten. Wenn das aufhört, werden Sie am Ende die Tast...
So ändern Sie die linke und rechte Maustaste auf einem Windows 10-PC
Es ist ganz normal, dass alle Computer-Maus-Geräte ergonomisch für Rechtshänder gestaltet sind. Es gibt aber auch Mausgeräte, die speziell für Linkshä...
Emulieren Sie Mausklicks, indem Sie den Mauszeiger mit der klicklosen Maus in Windows 10 bewegen
Die Verwendung einer Maus oder Tastatur in der falschen Haltung bei übermäßiger Nutzung kann zu vielen gesundheitlichen Problemen führen, einschließli...