Heute habe ich versucht, meinen Ubuntu 20.04 LTS-Desktop zu aktualisieren, und ich bin auf diesen Fehler gestoßen - "Unterprozess /usr/bin/dpkg hat einen Fehlercode (1) zurückgegeben" . Dies ist eines der häufigsten Probleme in Ubuntu und anderen DEB-basierten Systemen.
Dieser Fehler tritt normalerweise aufgrund einer fehlgeschlagenen Anwendungsinstallation auf oder wenn das dpkg-Paketinstallationsprogramm während der Installation eines Pakets beschädigt oder unterbrochen wird.
Hier sind die Befehle, die ich versucht habe, um meinen Ubuntu-Desktop zu aktualisieren:
$ sudo apt update
$ sudo apt upgrade
Und... hier ist die Fehlermeldung:
Reading package lists... Done Building dependency tree Reading state information... Done Calculating upgrade... Done The following packages will be upgraded: eog 1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 21 not fully installed or removed. Need to get 0 B/421 kB of archives. After this operation, 0 B of additional disk space will be used. Do you want to continue? [Y/n] (Reading database ... 230012 files and directories currently installed.) Preparing to unpack .../eog_3.36.2-0ubuntu1_amd64.deb ... Unpacking eog (3.36.2-0ubuntu1) over (3.36.1-1) ... dpkg-deb (subprocess): decompressing archive member: lzma error: compressed data is corrupt dpkg-deb: error: <decompress> subprocess returned error exit status 2 dpkg: error processing archive /var/cache/apt/archives/eog_3.36.2-0ubuntu1_amd64.deb (--unpack): cannot copy extracted data for './usr/lib/x86_64-linux-gnu/eog/libeog.so' to '/usr/lib/x86_64-linux-gnu/eog/libeog.so.dpkg-new': unexpected end of file or stream Errors were encountered while processing: /var/cache/apt/archives/eog_3.36.2-0ubuntu1_amd64.deb E: Sub-process /usr/bin/dpkg returned an error code (1)
Fix „Unterprozess /usr/bin/dpkg gab einen Fehlercode (1) zurück“ in Ubuntu
Wenn Sie auf einen Fehler wie oben gestoßen sind, machen Sie sich keine Sorgen! Hier habe ich ein paar Problemumgehungen gegeben, um "Sub-process /usr/bin/dpkg returned an error code (1)"
zu lösen Problem in Ubuntu und seinen Varianten wie Linux Mint, Pop OS.
Lösung 1 - dpkg-Datenbank neu konfigurieren
Wenn der Paketinstallationsprozess gestoppt oder mittendrin unterbrochen wird, ist die dpkg-Datenbank möglicherweise beschädigt. Eine Neukonfiguration der dpkg-Datenbank kann dieses Problem lösen.
Um die dpkg-Datenbank neu zu konfigurieren, führen Sie einfach Folgendes aus:
$ sudo dpkg --configure -a
Dieser Befehl versucht, die beschädigte dpkg-Datenbank zu reparieren und dann alle defekten Pakete neu zu konfigurieren. Dieser Befehl behebt normalerweise, dass dpkg returned an error code (1)
Problem. Wenn es das Problem aus irgendeinem Grund nicht gelöst hat, befolgen Sie die nachfolgenden Lösungen.
Lösung 2 – Installation der Anwendung erzwingen
Wenn die erste Methode nicht funktioniert hat, führen Sie den folgenden Befehl aus, um die Installation zu erzwingen:
$ sudo apt-get install -f
Oder,
$ sudo apt-get install --fix-broken
Hier -f
(oder --fix-broken
) versucht, das Ubuntu-System mit defekten Abhängigkeiten zu korrigieren.
Wenn diese beiden Lösungen nicht geholfen haben und das Problem weiterhin besteht, versuchen Sie es mit der nächsten Lösung.
Lösung 3 - Entfernen Sie die problematische .deb-Anwendungsdatei aus dem lokalen Cache-Ordner und installieren Sie sie erneut
Wie Sie in der Fehlermeldung (die letzten beiden Zeilen) sehen, ist die eog Paket verursacht diesen Fehler.
[...] /var/cache/apt/archives/eog_3.36.2-0ubuntu1_amd64.deb E: Sub-process /usr/bin/dpkg returned an error code (1)
Für diejenigen, die sich fragen, ist eog (kurz für Eye of GNOME) der offizielle und standardmäßige Bildbetrachter für die GNOME-Desktopumgebung. Dieses Paket ist also problematisch und lässt mich mein Ubuntu nicht aktualisieren.
Wenn Sie ein Paket installieren, wird es heruntergeladen und im Cache-Ordner /var/cache/apt/archives/
gespeichert .
Um diesen Fehler zu beheben, entfernen Sie das zwischengespeicherte Paket mit folgendem Befehl:
$ sudo rm /var/cache/apt/archives/eog_3.36.2-0ubuntu1_amd64.deb
Ersetzen Sie eog_3.36.2-0ubuntu1_amd64.deb durch Ihr Paket.
Bereinigen Sie den Paket-Cache-Ordner:
$ sudo apt-get clean
$ sudo apt-get autoremove
Aktualisieren Sie die Quellenlisten:
$ sudo apt-get update
Aktualisieren Sie Ihr System:
$ sudo apt-get upgrade
Holen Sie sich schließlich das neue Paket aus den offiziellen Repositories und installieren Sie es wie folgt neu:
$ sudo apt-get install eog
Diese Lösung hat bei mir funktioniert.
Lösung 4 – Entfernen Sie die problematische Anwendung
Dies sollte Ihr letzter Ausweg sein. Wenn keine der oben genannten Methoden hilft, entfernen Sie das problematische Paket wie folgt von Ihrem System:
$ sudo apt-get remove --purge eog
$ sudo apt-get clean && sudo apt-get autoremove
Dieser Befehl entfernt eog mit all seinen Konfigurationsdateien vom System.
Außerdem finden und entfernen Sie alle Dateien, die mit dem beschädigten Paket verknüpft sind.
Um alle Dateien zu finden, die sich auf ein Paket beziehen, führen Sie Folgendes aus:
$ sudo ls -l /var/lib/dpkg/info | grep -i eog
Beispielausgabe:
-rw-r--r-- 1 root root 61926 Apr 24 13:42 eog.list -rw-r--r-- 1 root root 5889 Mar 29 08:01 eog.md5sums
Entfernen Sie sie manuell.
Das ist es. In diesem Stadium sollte Ihnen jede dieser vier Lösungen dabei geholfen haben, „Sub-process /usr/bin/dpkg
hat einen Fehlercode (1) in Ubuntu und anderen DEB-basierten Systemen zurückgegeben.
Lösungen für andere häufige Probleme in Ubuntu:
- So reparieren Sie ein defektes Ubuntu-Betriebssystem, ohne es neu zu installieren
- So beheben Sie den Busybox-Initramfs-Fehler unter Ubuntu
- Fehler „Abschnitt ohne Paket:Kopfzeile gefunden“ in Ubuntu behoben
- Fix „W:Einige Indexdateien konnten nicht heruntergeladen werden.“ Fehler in Ubuntu
- Fix „E:Die Paket-Cache-Datei ist beschädigt, sie hat den falschen Hash“-Fehler in Ubuntu
- So beheben Sie den Fehler „E:Sperre /var/lib/dpkg/lock konnte nicht abgerufen werden“ unter Ubuntu
- Fehler „dpkg:error:parsing file ‚/var/lib/dpkg/updates/0014′“ in Ubuntu behoben