Fix: Det gick inte att öppna låsfilen / var / lib / dpkg / lock



Prova Vårt Instrument För Att Eliminera Problem

Att få felmeddelandet kunde inte öppnas / var / lib / dpkg / lock felmeddelande kan vara förvirrande eftersom det mycket väl kan fråga om du är root omedelbart efteråt även om du kör ett uppdateringskommando med sudo-prefixet. Detta felkommando kommer att visas på nästan allt som använder apt-get-pakethanteraren. Oavsett om du uppdaterar en stationär eller bärbar dator som kör en av de olika versionerna av Ubuntu eller en Raspberry Pi med Raspbian Debian-snurr, kan du upptäcka att det kan vara ett problem på någon av dessa plattformar.



Ändå är fixen ganska enkel. Du kan vanligtvis ignorera allt som frågar dig om du är rot eller inte och gå direkt till hjärtat av problemet, vilket är relaterat till två processer som försöker komma åt en låst fil samtidigt.



Metod 1: Se till att sudo kan komma åt alla delar av kommandot

Om du skulle köra sudo apt-get update && apt-get upgrade kan du få det här felet eftersom den andra processen inte har rätt behörighet att komma åt filen / var / lib / dpkg / lock.



Försök istället springa sudo apt-get update && sudo apt-get upgrade för att se om det gör någon skillnad. Om det gör det är ditt problem redan löst och det berodde bara på att du inte gav den andra processen tillräckliga behörigheter för att komma åt filen. Tänk på att detta kommando uppdateras och sedan uppgraderar alla dina paket, så det kan uppmana dig att godkänna det och det kan ta en stund att köra.

Annars är problemet redan helt behandlat och du behöver inte göra något annat.



Metod 2: Ta bort filen / var / lib / dpkg / lock

De som använder curl, wget eller ett annat kommando som laddar ner en fil diskret kan också behöva förordna kommandot med sudo om de arbetar från Raspbian eftersom detta i vissa fall tar platsen för apt-get. De som arbetar med ren Debian, Xubuntu, Lubuntu, Linux Mint och andra liknande skrivbords- / bärbar datororienterade behöver inte oroa sig för detta, men det kan vara värt ett nytt försök.

Om detta fortfarande inte fungerade kan du behöva kontrollera att du inte har något annat program som försöker komma åt filen medan du kör din uppdatering. Försök använda sudo lsof / var / lib / dpkg / lås för att se om andra processer körs som har den öppen. Om du har öppnat någonstans kan du bara stänga applikationen.

Tänk på att ha läs- och skrivåtkomst för en applikation för att öppna den här filen innebär i tillägg att programmet måste ha root-behörigheter, så du behöver root-privilegier för att stänga programmet. Du kan till och med försöka titta igenom Task Manager-applikationen om du använder en grafisk skrivbordsmiljö som stöder den här funktionen. Högerklicka bara på den kränkande processen och stäng om du har behörighet att göra det. Testa kill- eller killall-kommandona från kommandoraden också.

Du kan nu försöka köra dina apt-get-kommandon igen och se om det gör någon skillnad, men du behöver inte göra något annat om det hade varit. Om du fortfarande har problem kan du försöka ta bort låsfilerna direkt. Även om detta bör ses som en sista utväg, orsakar det vanligtvis inga problem relaterade till apt-get-programmet. Du vill fortfarande använda andra metoder innan du gör det eftersom det kan röra sig med apt-systemet.

Ibland hjälper omstart om, men om du är på en ständigt på en server eller en Raspbian-enhet kan det här inte vara ett genomförbart alternativ. Försök springa sudo rm / var / lib / dpkg / lock && sudo rm / var / lib / apt / lists / lock , som frigör de specifika filerna som apt tittar på när du kör den. Se till att vara försiktig med namnen på dessa filer, eftersom att köra rm som root är destruktivt.

Om du antar att du har gjort det efter att bara ha uttömt de andra alternativen kan du försöka köra uppdateringskommandona igen och se vad som händer. Du borde inte ha några ytterligare problem eftersom filerna inte längre skulle existera vid den tidpunkten, även om apt-get-rutinerna kommer att kunna bygga om dem medan de körs.

3 minuter läst