Při instalaci „Nelze zamknout / var / lib / dpkg / lock – open (11 zdrojů dočasně nedostupných)“ nebo při upgradu balíčků pomocí příkazového řádku na virtuálních počítačích Ubuntu v poslední době, tak jsem si myslel, že píšu příspěvek o tom, jak se takových problémů zbavit.
Toto je úplná chybová zpráva:
E: Could not get lock /var/lib/dpkg/lock - open (11 Resource temporarily unavailable)
E: Unable to lock the administration directory (/var/lib/dpkg/) is another process using it?
[[Edit]]Tato zpráva se pro novější verze Ubuntu změnila a nyní ukazuje, který proces drží „/ var / lib / dpkg / lock-frontend“ následovně:
Waiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 251486 (apt)
Jak říká zpráva, toto se může stát, pokud je použit jiný proces /var/lib/dpkg/lock
. Takže První věc, kterou musíte udělat, když narazíte na tuto chybu, je ujistit se, že zavřete správce balíčků, jako je Synaptic. atd. Zkontrolujte také, zda nemáte nějaké další otevřené terminály, na kterých aktuálně probíhá instalace/upgrade, a počkejte na dokončení těchto procesů. Pokud používáte novější Ubuntu, samotná zpráva vám řekne, který proces obsahuje „/ var / lib / dpkg / lock“ / „/ var / lib / dpkg / lock-frontend“.
Když nejsou použity žádné procesy /var/lib/dpkg/lock
, dalším krokem je … počkat. V některých případech to stačí k vyřešení chyb „Couldn't get lock / var / lib / dpkg / lock“ a „Could't get lock / var / lib / dpkg / lock-frontend“.
Dalším způsobem, jak tento problém vyřešit, je restartovat systém a zjistit, zda k tomu stále dochází.
Nicméně existují případy, kdy výše uvedená řešení nemusí stačit. V takových případech můžete udělat toto.
Toto používejte pouze v případě, že nic jiného nefunguje! Použití následujících příkazů může mít za následek poškození balíčků / poškození. Používejte je na vlastní nebezpečí!
Pokud nic jiného nefungovalo (podle mých zkušeností se to obvykle stává, když byl systém násilně vypnut nebo restartován během instalace nebo aktualizace balíčků, například kvůli výpadku napájení), můžete odstranit soubor apt lock / lock-frontend a zjistit, zda to opravuje problém ve vašem systému Ubuntu / Debian / Linux Mint (a jakémkoli systému, který používá APT):
sudo rm /var/lib/apt/lists/lock
sudo rm /var/lib/apt/lists/lock-frontend
Pokud se u některého z apt
stále zobrazují chyby Zámek mezipaměti (/var/cache/apt/archives/lock
) nebo dpkg
zámek (/var/lib/dpkg/lock
), můžete je odstranit:
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock
Poté může být také nutné překonfigurovat balíček a opravit případné poškozené balíčky:
sudo dpkg --configure -a
sudo apt install -f
V některých vzácných případech se po pokusu o spuštění může zobrazit chyba podobná následující sudo dpkg --configure -a
:
$ sudo dpkg --configure -a
dpkg: error: parsing file '/var/lib/dpkg/updates/0004' near line 0:
newline in field name '#padding'
V takových případech odstraňte příslušný soubor a poté spusťte sudo dpkg --configure -a
Znovu povel. V mém příkladu výše je soubor /var/lib/dpkg/updates/0004
(Ve vašem případě to může být jiné!) Chcete-li jej odstranit a znovu nakonfigurovat dpkg, musíte použít:
sudo rm /var/lib/dpkg/updates/0004
sudo dpkg --configure -a
Doufejme, že po spuštění těchto příkazů byste měli přestat přijímat zprávy „Nelze otevřít zámek / var / lib / dpkg / lock (11 zdrojů dočasně nedostupných)“ a „Lock / var / lib / dpkg / lock-frontend – otevřít „Přijato ( 11 zdroj dočasně nedostupný)“.
Úprava: Hlavním důvodem opakování této chyby se zdá být skutečnost, že Ubuntu ve výchozím nastavení povoluje bezobslužné aktualizace a buď se aktualizuje, když se zobrazí tato chyba (v takovém případě byste měli počkat na úspěch upgradu!), nebo se aktualizace nezdařila. Pokud ano, bude tato chyba přetrvávat, dokud ji neopravíte. Automatické (bezobslužné) aktualizace můžete zakázat, viz:Jak zastavit automatickou instalaci aktualizací na Ubuntu nebo Debianu (bezobslužné aktualizace).