Pokud při instalaci softwaru na Ubuntu Linux narazíte na „podproces usr bin dpkg vrátil kód chyby 1“, zde je návod, jak to opravit.
Jedním z běžných problémů v Ubuntu a dalších distribucích založených na Debianu jsou poškozené balíčky. Pokoušíte se aktualizovat systém nebo nainstalovat nový balíček a narazíte na chybu jako ‚Podproces /usr/bin/dpkg vrátil kód chyby‘.
To se mi stalo druhý den. Zkoušel jsem nainstalovat rádiovou aplikaci v Ubuntu, když mi to vyhodilo tuto chybu:
Unpacking python-gst-1.0 (1.6.2-1build1) ...
Selecting previously unselected package radiotray.
Preparing to unpack .../radiotray_0.7.3-5ubuntu1_all.deb ...
Unpacking radiotray (0.7.3-5ubuntu1) ...
Processing triggers for man-db (2.7.5-1) ...
Processing triggers for desktop-file-utils (0.22-1ubuntu5.2) ...
Processing triggers for bamfdaemon (0.5.3~bzr0+16.04.20180209-0ubuntu1) ...
Rebuilding /usr/share/applications/bamf-2.index...
Processing triggers for gnome-menus (3.13.3-6ubuntu3.1) ...
Processing triggers for mime-support (3.59ubuntu1) ...
Setting up polar-bookshelf (1.0.0-beta56) ...
ln: failed to create symbolic link '/usr/local/bin/polar-bookshelf': No such file or directory
dpkg: error processing package polar-bookshelf (--configure):
subprocess installed post-installation script returned error exit status 1
Setting up python-appindicator (12.10.1+16.04.20170215-0ubuntu1) ...
Setting up python-gst-1.0 (1.6.2-1build1) ...
Setting up radiotray (0.7.3-5ubuntu1) ...
Errors were encountered while processing:
polar-bookshelf
E: Sub-process /usr/bin/dpkg returned an error code (1)
Poslední tři řádky jsou zde nanejvýš důležité.
Errors were encountered while processing:
polar-bookshelf
E: Sub-process /usr/bin/dpkg returned an error code (1)
Říká mi to, že je příčinou a problém balíček polar-bookshelf. To může být zásadní pro to, jak zde tuto chybu opravit.
Podproces opravy /usr/bin/dpkg vrátil kód chyby (1)
Pokusme se opravit tento poškozený chybový balíček. Ukážu několik metod, které můžete vyzkoušet jeden po druhém. První z nich jsou snadno použitelné a jednoduše zbytečné.
Měli byste zkusit spustit sudo apt update a poté zkusit nainstalovat nový balíček nebo upgradovat po vyzkoušení každé ze zde uvedených metod.
Metoda 1:Překonfigurujte databázi balíčků
První metodou, kterou můžete vyzkoušet, je překonfigurovat databázi balíčků. Pravděpodobně došlo k poškození databáze při instalaci balíčku. Překonfigurování často problém vyřeší.
sudo dpkg --configure -a
Metoda 2:Použijte vynucenou instalaci
Pokud byla instalace balíčku dříve přerušena, můžete zkusit provést vynucenou instalaci.
sudo apt-get install -f
Metoda 3:Zkuste odstranit problematický balíček
Pokud to pro vás není problém, můžete zkusit balíček odstranit ručně. Nedělejte to prosím pro linuxová jádra (balíčky začínající linux-).
sudo apt remove package_name
Metoda 4:Odstraňte soubory s informacemi o příspěvku problematického balíčku
To by měla být vaše poslední možnost. Můžete zkusit odstranit soubory přidružené k příslušnému balíčku z /var/lib/dpkg/info.
Potřebujete vědět trochu o základních příkazech Linuxu, abyste zjistili, co se děje a jak je můžete použít s vaším problémem.
V mém případě jsem měl problém s polární policí. Tak jsem hledal soubory s tím spojené:
ls -l /var/lib/dpkg/info | grep -i polar-bookshelf
-rw-r--r-- 1 root root 2324811 Aug 14 19:29 polar-bookshelf.list
-rw-r--r-- 1 root root 2822824 Aug 10 04:28 polar-bookshelf.md5sums
-rwxr-xr-x 1 root root 113 Aug 10 04:28 polar-bookshelf.postinst
-rwxr-xr-x 1 root root 84 Aug 10 04:28 polar-bookshelf.postrm
Nyní vše, co jsem potřeboval udělat, bylo odstranit tyto soubory:
sudo mv /var/lib/dpkg/info/polar-bookshelf.* /tmp
Použijte aktualizaci sudo apt a poté byste měli být schopni nainstalovat software jako obvykle.
Která metoda se vám osvědčila (pokud fungovala)?
Doufám, že vám tento rychlý článek pomůže opravit chybu „E:Sub-process /usr/bin/dpkg vrátil kód chyby (1)“.
Pokud vám to fungovalo, jaká metoda to byla? Podařilo se vám tuto chybu opravit nějakou jinou metodou? Pokud ano, sdílejte to, abyste pomohli ostatním s tímto problémem.