Tento návod vám pomůže opravit chybu nelze získat zámek nebo nelze zamknout adresář pro správu v Ubuntu.
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?
Při provádění jakékoliv operace v příkazovém řádku pomocí apt může z určitých důvodů (např. nelze načíst některé balíčky ze serveru, nebo se vám v polovině cesty přerušilo připojení k internetu či z jiných důvodů), pokud proces apt náhle skončí, dojít v systému k výše uvedeným chybám. Znamená to, že proces apt nemohl být dokončen a nyní nebudete moci používat žádné další příkazy apt, pokud to neopravíte.
Existuje více způsobů, jak to opravit, zkusme jeden po druhém.
Oprava 1
Tato oprava zjistí ID procesů apt a pokusí se je ukončit. Spusťte níže uvedené příkazy z terminálu:
ps aux | grep apt
Vypíše všechny procesy apt, které drží zámek. V níže uvedeném příkladu můžete vidět ID procesů (první sloupec), které drží zámek.
kill -9 processnumber
Po provedení výše uvedeného příkazu restartujte počítač a zkuste provést jakýkoli příkaz apt, který vám způsobil chybu. To by mělo chybu vyřešit.
Pokud se stále potýkáte s chybou a oprava 1 ji nevyřešila, postupujte podle níže uvedených oprav.
Oprava 2
Zkuste níže uvedený příkaz z terminálu, ten by se pokusil zastavit službu apt.
sudo systemctl stop apt-daily.timer
Po výše uvedeném příkazu zkuste, zda se stále potýkáte s chybou. Pokud ji vyřeší, restartujte systém a ujistěte se, že jste službu následně spustili pomocí níže uvedeného příkazu:
sudo systemctl start apt-daily.timer
Pokud oprava 2 nefungovala, postupujte podle níže uvedené opravy.
Oprava 3
UPOZORNĚNÍ:
Níže uvedená oprava je nebezpečná a měla by být vyzkoušena pouze v případě, že výše uvedené opravy 1 a 2 nefungovaly a je to pro vás poslední možnost. Při neopatrné práci může způsobit poškození systému.
Z terminálu spusťte níže uvedené příkazy. Tím by se ručně odstranily zamčené soubory prostřednictvím práv roota.
sudo fuser -cuk /var/lib/dpkg/lock; sudo rm -f /var/lib/dpkg/locksudo fuser -cuk /var/cache/apt/archives/lock; sudo rm -f /var/cache/apt/archives/lock
Po spuštění výše uvedených příkazů zkuste provést operaci, která vám způsobila chybu. To by ji mělo vyřešit.