Dnes jsem se pokusil upgradovat svůj desktop Ubuntu 20.04 LTS a narazil jsem na tuto chybu - "Podproces /usr/bin/dpkg vrátil kód chyby (1)" . Je to jeden z běžných problémů v Ubuntu a dalších systémech založených na DEB.
K této chybě obvykle dochází v důsledku neúspěšné instalace aplikace nebo pokud dojde k poškození nebo přerušení instalačního programu balíčku dpkg uprostřed instalace balíčku.
Zde jsou příkazy, které jsem se pokusil upgradovat svou plochu Ubuntu:
$ sudo apt update
$ sudo apt upgrade
A... zde je chybová zpráva:
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)
Oprava „Podproces /usr/bin/dpkg vrátil kód chyby (1)“ v Ubuntu
Pokud narazíte na výše uvedenou chybu, nebojte se! Zde jsem uvedl několik řešení k vyřešení "Sub-process /usr/bin/dpkg returned an error code (1)"
problém v Ubuntu a jeho variantách, jako je Linux Mint, Pop OS.
Řešení 1 – Překonfigurujte databázi dpkg
Pokud je proces instalace balíku zastaven nebo přerušen uprostřed, může být poškozena databáze dpkg. Překonfigurování databáze dpkg může tento problém vyřešit.
Chcete-li znovu nakonfigurovat databázi dpkg, jednoduše spusťte:
$ sudo dpkg --configure -a
Tento příkaz se pokusí opravit poškozenou databázi dpkg a poté znovu nakonfigurovat všechny poškozené balíčky. Tento příkaz obvykle opraví dpkg returned an error code (1)
problém. Pokud to z nějakého důvodu problém nevyřeší, postupujte podle následujících řešení.
Řešení 2 – Vynutit instalaci aplikace
Pokud první metoda nefungovala, spusťte následující příkaz a proveďte vynucenou instalaci:
$ sudo apt-get install -f
Nebo,
$ sudo apt-get install --fix-broken
Zde -f
(nebo --fix-broken
) se pokusí opravit systém Ubuntu s poškozenými závislostmi.
Pokud tato dvě řešení nepomohla a problém stále přetrvává, zkuste další řešení.
Řešení 3 – Odstraňte soubor .deb problematické aplikace z místní složky mezipaměti a znovu jej nainstalujte
Jak vidíte v chybové zprávě (poslední dva řádky), eog tuto chybu způsobuje balíček.
[...] /var/cache/apt/archives/eog_3.36.2-0ubuntu1_amd64.deb E: Sub-process /usr/bin/dpkg returned an error code (1)
Pro ty, kdo by se divili, eog (zkratka pro Eye of GNOME) je oficiální a výchozí prohlížeč obrázků pro desktopové prostředí GNOME. Tento balíček je tedy problematický a neumožňuje mi upgradovat Ubuntu.
Když nainstalujete balíček, bude stažen a uložen do složky mezipaměti /var/cache/apt/archives/
.
Chcete-li tuto chybu opravit, odeberte balíček uložený v mezipaměti pomocí příkazu:
$ sudo rm /var/cache/apt/archives/eog_3.36.2-0ubuntu1_amd64.deb
Nahraďte eog_3.36.2-0ubuntu1_amd64.deb svým balíčkem.
Vyčistěte složku mezipaměti balíčků:
$ sudo apt-get clean
$ sudo apt-get autoremove
Aktualizujte zdrojové seznamy:
$ sudo apt-get update
Upgradujte svůj systém:
$ sudo apt-get upgrade
Nakonec získejte nový balíček z oficiálních repozitářů a znovu jej nainstalujte, jak je uvedeno níže:
$ sudo apt-get install eog
Toto řešení mi fungovalo.
Řešení 4 – Odstraňte problematickou aplikaci
To by měla být vaše poslední možnost. Pokud žádná z výše uvedených metod nepomůže, odstraňte problematický balíček ze systému, jak je uvedeno níže:
$ sudo apt-get remove --purge eog
$ sudo apt-get clean && sudo apt-get autoremove
Tento příkaz odstraní eog se všemi jeho konfiguračními soubory ze systému.
A také najít a odstranit všechny soubory spojené s poškozeným balíčkem.
Chcete-li najít všechny soubory související s balíčkem, spusťte:
$ sudo ls -l /var/lib/dpkg/info | grep -i eog
Ukázkový výstup:
-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
Odstraňte je ručně.
A je to. V této fázi by vám kterékoli z těchto čtyř řešení mělo pomoci opravit „Podproces /usr/bin/dpkg
vrátil kód chyby (1)" v Ubuntu a dalších systémech založených na DEB.
Řešení dalších běžných problémů v Ubuntu:
- Jak opravit poškozený operační systém Ubuntu bez jeho přeinstalace
- Jak opravit chybu Busybox Initramfs na Ubuntu
- Oprava chyby „Narazili jste na sekci bez balíčku:záhlaví“ v Ubuntu
- Oprava „W:Některé indexové soubory se nepodařilo stáhnout.“ Chyba v Ubuntu
- Oprava „E:Soubor mezipaměti balíčku je poškozen, má nesprávný hash“ Chyba v Ubuntu
- Jak opravit chybu „E:Nelze získat zámek /var/lib/dpkg/lock“ v Ubuntu
- Oprava chyby „dpkg:error:parsing file ‘/var/lib/dpkg/updates/0014′“ v Ubuntu