GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak vyřešit chybu „E:Nelze získat zámek /var/lib/dpkg/lock“ v Ubuntu

Pokud jste běžným uživatelem Ubuntu/Debianu, můžete v určitém okamžiku narazit na chybu:„Could not get lock /var/lib/dpkg/lock '. Náhodou to souvisí s chybou „Nelze získat zámek /var/lib/apt/lists/lock“ . Níže je snímek obrazovky zobrazující takovou chybu.

Toto není fatální chyba a obvykle není hlavním důvodem k obavám. Dá se to snadno vyřešit, jak si později ukážeme. Ale co to způsobuje? Pojďme to zjistit.

Příčiny chyby

Běžnou příčinou této chyby je, když proces používá správce balíčků APT k aktualizaci/upgradu/instalaci softwaru nebo k provádění správy balíčků v systému. Když k tomu dojde, proces uzamkne soubor dpkg pomocí souboru zámku tak, aby jiný proces nezměnil data, což pravděpodobně povede k chybám a možnému poškození klíčových souborů v systému.

Kdykoli se setkáte s touto chybou, existuje vysoká pravděpodobnost, že APT běží na jiném souběžném procesu. Může se jednat o proces běžící souběžně na jiném terminálu. K chybě může také dojít v důsledku přerušeného procesu aktualizace nebo upgradu, který byl předčasně ukončen stisknutím kláves CTRL + C na terminálu nebo náhodnému zavření okna terminálu.

Jak vyřešit chybu Nelze získat zámek /var/lib/dpkg/lock

Zde je několik tipů, které mohou pomoci napravit chybu a pomoci vám vrátit se k používání správce balíčků APT.

Počkejte na dokončení procesu

Pokud máte jinou terminálovou relaci, kde je správce balíčků APT používán příkazem, jako je aktualizace nebo aktualizace systému nebo instalace aplikace, ponechte operaci, aby se úspěšně dokončila. Po dokončení pak můžete spustit požadovaný příkaz a provést jakoukoli další operaci pomocí APT.

Ukončete procesy pomocí správce balíčků APT

Pokud jste přerušili proces používající APT, jako je zrušení upgradu nebo aktualizace indexu balíků, nejprve identifikujte procesy používající APT pomocí zobrazeného příkazu ps:

$ ps aux | grep -i apt

Z výstupu vidíme, že APT používají dva procesy spouštěné rootem. Procesy nesou PID 3994 a 3999 . Jakmile identifikujete procesy pomocí APT, dalším postupem je zabít nebo ukončit procesy.

Chcete-li toho dosáhnout, použijte příkaz kill následovně.

$ kill -9 PID

Z výstupu zabijeme procesy nesoucí PIDs 3994 a 3999 takto:

$ kill -9 3994
$ kill -9 3999

-9 flag spouští signál SIGKILL, který okamžitě ukončí proces, aniž by mu umožnil ladně ukončit.

Mnohem jednodušší způsob je použít killall příkaz, jak je znázorněno.

$ killall apt apt-get

Jakmile zabijete problematické procesy, můžete nyní přistoupit k použití správce balíčků APT ve vašem příkazu.

Odstraňte soubory zámku

Další opravou, kterou můžete použít, je odstranění souborů zámku. Jak již bylo zmíněno dříve, soubory zámku brání v přístupu k datům dvěma různými procesy. Chcete-li se zbavit souborů zámku, spusťte následující příkazy.

$ sudo rm /var/lib/dpkg/lock
$ sudo rm /var/lib/dpkg/lock-frontend

A nakonec překonfigurujte balíčky.

$ sudo dpkg --configure -a

Závěr

Kterékoli z těchto řešení vám pomůže obejít tuto chybu a umožní vám používat správce balíčků APT pro další operace. Dejte nám vědět, co se vám osvědčilo.


Ubuntu
  1. Ubuntu E:Nelze získat chybu lock /var/lib/dpkg/lock – opravit to hned?

  2. Jak Linux zpracovává více po sobě jdoucích oddělovačů cest (/home////username///soubor)?

  3. Ubuntu – Parted:Jak vyřešit chybu umístění mimo zařízení?

  1. Oprava chyby „dpkg:chyba:parsování souboru „/var/lib/dpkg/updates/0014′“ v Ubuntu

  2. Jak zabít proces držení zámku Apt?

  3. Jak se dostanu do Postgresu, když dostanu chybu o /var/run/postgresql/.s.PGSQL.5432?

  1. Jak vyřešit „Podproces /usr/bin/dpkg vrátil kód chyby (1)“ v Ubuntu

  2. Rozdíl mezi /var/log/messages, /var/log/syslog a /var/log/kern.log?

  3. Update-alternatives:Chyba:/var/lib/dpkg/alternatives/vim Poškozený:Neplatný stav?