Fix 'E: Kon lock niet krijgen / var / lib / dpkg / lock' Fout in Ubuntu

Onlangs probeerde ik een applicatie te installeren met behulp van de opdracht apt op Ubuntu toen ik de volgende fout tegenkwam:

E: Kon lock niet krijgen / var / lib / dpkg / lock - open (11: bron tijdelijk niet beschikbaar)

E: Kan de administratiemap niet vergrendelen (/ var / lib / dpkg /), is een ander proces dat het gebruikt?

In feite is er een vergelijkbare fout die u kunt zien:

E: Kon lock niet krijgen / var / lib / apt / lists / lock - open (11: bron tijdelijk niet beschikbaar)

E: Kan directory / var / lib / apt / lists / niet vergrendelen /

E: Kon lock niet krijgen / var / lib / dpkg / lock - open (11: bron tijdelijk niet beschikbaar)

E: Kan de administratiemap niet vergrendelen (/ var / lib / dpkg /), is een ander proces dat het gebruikt?

Beide fouten lijken erg op een andere veel voorkomende Ubuntu-fout. Kan directory / var / cache / apt / archives niet vergrendelen / en het interessante is dat de fixes voor al deze fouten ook vergelijkbaar zijn.

Methode 1: Fixing Kan de map administratiemap (/ var / lib / dpkg /) niet vergrendelen

Er kunnen veel redenen zijn waarom u deze fout ziet. De eerste en meest voor de hand liggende reden zou kunnen zijn dat een ander proces APT-pakketbeheertool gebruikt (apt of apt-get-commando met andere woorden). Controleer of Ubuntu Software Center of Synaptic Package Manager actief is of niet.

U kunt ook de Linux-opdrachtregel gebruiken om het lopende proces te vinden en te beëindigen. Gebruik hiervoor de onderstaande opdracht:

 ps aux | grep -i apt 

Dit toont u de ID van het proces met apt of apt-get. In het onderstaande voorbeeld is de proces-id 7343. U kunt de laatste regel met 'grep -color = auto' negeren.

Je kunt dit proces-ID gebruiken om het te doden:

 sudo kill -9 

Een andere gemakkelijkere manier zou zijn om het killall-commando te gebruiken. Dit zal alle instanties van een lopend programma doden.

 sudo killall apt-get 

Volg ons voor meer nuttige Linux-tutorials :)

Volg ons op Facebook 114.3K Volgers Volg ons op Twitter 9.1K Volgers Volg ons op YouTube 24.6K volgers

Methode 2: Verdere vaststelling Kan de map administratiemap (/ var / lib / dpkg /) niet vergrendelen

Normaal gesproken lost dit in de meeste gevallen het probleem voor u op. Maar mijn zaak was een beetje anders. Ik werkte mijn systeem bij en sloot per ongeluk de terminal. Om die reden waren er geen processen die apt draaiden, maar het toonde me nog steeds de fout.

In dit geval is de oorzaak het vergrendelingsbestand. Lock-bestanden worden gebruikt om te voorkomen dat twee of meer processen dezelfde gegevens gebruiken. Wanneer apt of apt-opdrachten worden uitgevoerd, worden op enkele plaatsen vergrendelingsbestanden gemaakt. Wanneer de vorige opdracht apt niet correct werd beëindigd, werden de vergrendelingsbestanden niet verwijderd en daardoor worden nieuwe instances van apt / apt-get-opdrachten voorkomen.

Om het probleem te verhelpen, hoeft u alleen de vergrendelingsbestanden te verwijderen. Maar voordat u dat doet, is het een goed idee om elk proces dat de vergrendelingsbestanden gebruikt te stoppen.

Gebruik de opdracht lsof om de proces-ID van het proces met de vergrendelingsbestanden op te halen. Voer deze opdrachten één voor één uit.

 lsof / var / lib / dpkg / lock

lsof / var / lib / apt / lists / lock

lsof / var / cache / apt / archives / lock

Het is mogelijk dat de opdrachten niets retourneren of slechts één cijfer retourneren. Als ze ten minste één getal retourneren, gebruikt u het / de nummer (s) en annuleert u de processen op deze manier. Vervang de PID door de nummers die je hebt gekregen met de bovenstaande opdrachten:

 sudo kill -9 PID 

U kunt de vergrendelingsbestanden nu veilig verwijderen met behulp van de onderstaande opdrachten:

 sudo rm / var / lib / apt / lists / lock

sudo rm / var / cache / apt / archieven / vergrendelen

sudo rm / var / lib / dpkg / lock

Configureer daarna de pakketten opnieuw

 sudo dpkg --configure -a 

Als u nu de opdracht sudo apt update uitvoert, zou alles in orde moeten zijn.

Probleemoplossing: dpkg: fout: dpkg-frontend wordt vergrendeld door een ander proces

Als u de foutmelding "dpkg frontend is vergrendeld door een ander proces" ziet terwijl u de hierboven beschreven methode uitvoert, moet u een extra stap uitvoeren.

Zoek eerst de id van het proces dat het vergrendelingsbestand bevat.

 lsof / var / lib / dpkg / lock-frontend 

De bovenstaande opdracht geeft u de PID van de processen met behulp van de vergrendelingsbestanden. Gebruik deze PID om het proces te beëindigen.

 sudo kill -9 PID 

Nu kunt u het slot verwijderen en dpkg herconfigureren:

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

sudo dpkg --configure -a

Ik hoop dat deze kleine tip je heeft geholpen bij het oplossen van de fout 'Kon not get lock / var / lib / dpkg / lock'. Als je vragen of suggesties hebt, aarzel dan niet om een ​​reactie achter te laten.

Aanbevolen

Hoe standaardtoepassingen wijzigen in Ubuntu
2019
Krijg gecertificeerde Linux, AWS en meer met Linux Academy
2019
LibreOffice 5.0 uitgebracht! Bekijk de nieuwe functies
2019