Průvodci

Oprava: Nelze otevřít soubor zámku / var / lib / dpkg / zámek

Získání chybové zprávy nelze otevřít soubor zámku / var / lib / dpkg / lock může být matoucí, protože by se mohlo velmi dobře zeptat, zda jste rootem hned poté, i když jste spouštěli příkaz aktualizace s předponou sudo. Tento chybový příkaz se zobrazí téměř na všem, co používá správce balíků apt-get. Ať už aktualizujete stolní nebo přenosný počítač s jednou z různých verzí Ubuntu nebo Raspberry Pi s rotací Raspbian Debian, možná zjistíte, že to může být problém na kterékoli z těchto platforem.

Oprava je nicméně poměrně jednoduchá. Obvykle můžete ignorovat cokoli, co se vás zeptá, zda jste root, nebo ne, a jít přímo k jádru problému, který souvisí se dvěma procesy, které se pokoušejí získat přístup k uzamčenému souboru současně.

Metoda 1: Zajištění, aby sudo mělo přístup ke každé části příkazu

Pokud byste měli spustit sudo apt-get update && apt-get upgrade, může se vám zobrazit tato chyba, protože druhý proces nemá správné oprávnění pro přístup k souboru / var / lib / dpkg / lock.

Zkuste místo toho spustit sudo apt-get update && sudo apt-get upgrade zjistit, jestli to má nějaký rozdíl. Pokud ano, pak je váš problém již vyřešen a bylo to pouze proto, že druhému procesu nedáváte dostatečná oprávnění pro přístup k souboru. Mějte na paměti, že tento příkaz aktualizuje a poté upgraduje všechny vaše balíčky, takže vás může vyzvat ke schválení a jeho spuštění může chvíli trvat.

Jinak je však problém již zcela vyřešen a nemusíte dělat nic jiného.

Metoda 2: Odebrání souboru / var / lib / dpkg / lock

Ti, kteří používají curl, wget nebo jiný příkaz, který stáhne soubor diskrétně, možná budou muset tento příkaz předmluvit pomocí sudo, pokud pracují z Raspbian, protože to v některých případech nahrazuje apt-get. Ti, kdo pracují s čistým Debianem, Xubuntu, Lubuntu, Linux Mint a dalšími podobnými počítači / notebooky, si s tím dělat starosti nebudou, ale může to stát za další pokus.

Pokud to stále nefungovalo, možná budete muset zkontrolovat, zda nemáte jiný program, který se pokouší o přístup k souboru, když spouštíte aktualizaci. Zkuste použít sudo lsof / var / lib / dpkg / lock zjistit, zda běží nějaké další procesy, které to mají otevřené. Pokud ji máte někde otevřenou, můžete aplikaci jednoduše zavřít.

Mějte na paměti, že mít přístup ke čtení a zápisu pro aplikaci k otevření tohoto souboru znamená, že uvedený program musí mít oprávnění root, takže k ukončení programu budete potřebovat oprávnění root. Pokud používáte grafické prostředí, které tuto funkci podporuje, můžete si dokonce zkusit prohlédnout aplikaci Správce úloh. Jednoduše klikněte pravým tlačítkem na proces porušování předpisů a zavřete, pokud k tomu máte oprávnění. Vyzkoušejte také příkazy kill nebo killall z příkazového řádku.

Nyní můžete zkusit znovu spustit příkazy apt-get a zjistit, zda to má nějaký rozdíl, ale pokud ano, nebudete muset dělat nic jiného. Pokud potíže přetrvávají, zkuste soubory zámku úplně odebrat. I když je třeba na to pohlížet jako na poslední možnost, obvykle to nezpůsobí žádné problémy spojené s programem apt-get. Než to uděláte, budete i nadále chtít vyčerpat jiné metody, protože by to mohlo narušit systém apt.

Restartování někdy pomůže, ale pokud jste neustále na serveru nebo zařízení Raspbian, nemusí to být schůdná volba. Zkuste běžet sudo rm / var / lib / dpkg / lock && sudo rm / var / lib / apt / seznamy / zámek, což uvolní konkrétní soubory, na které se apt při prohlížení dívá. Dávejte pozor na názvy těchto souborů, protože běh rm jako root je destruktivní.

Za předpokladu, že jste to udělali, až po vyčerpání ostatních možností, můžete zkusit znovu spustit aktualizační příkazy a zjistit, co se stane. Neměli byste mít žádné další problémy, protože soubory by v tomto okamžiku již neexistovaly, ačkoli rutiny apt-get je budou moci znovu sestavit, když běží.