Tijdens het gebruik van het apt-get commando of de relatief nieuwe APT package management tool in Ubuntu Linux of zijn afgeleiden zoals Linux Mint (die ik eigenlijk gebruik als mijn primaire besturingssysteem voor mijn dagelijkse werk), ben je misschien de fout tegengekomen – “unable to lock the administration directory (/var/lib/dpkg/) is another process using it” op de commandoregel.
Deze fout kan zo vervelend zijn, vooral voor nieuwe Linux (Ubuntu) gebruikers die misschien niet precies weten wat de oorzaak van de fout is.
Hieronder is een voorbeeld, dat de lock-bestand fout in Ubuntu 16 toont.10:
tecmint@TecMint:~$ sudo apt install neofetch password for tecmint: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?
De output hieronder is een ander mogelijk voorbeeld van dezelfde fout:
E: Could not get lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)E: Unable to lock directory /var/lib/apt/lists/ 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?
Hoe kunt u de bovenstaande fout oplossen voor het geval u er in de toekomst tegenaan loopt? Er zijn verschillende manieren om met deze fout(en) om te gaan, maar in deze gids, zullen we door de twee gemakkelijkste en waarschijnlijk de meest effectieve manieren gaan om het op te lossen.
Vind en Kill alle apt-get of apt Processen
Run het onderstaande commando om een lijst te genereren van alle processen waarvan de naam bestaat uit het woord apt, je krijgt een lijst inclusief alle apt of apt-get processen door gebruik te maken van ps
en grep commando’s samen met een pijplijn.
$ ps -A | grep apt
Voor elk apt-get of apt proces dat je kunt zien in de uitvoer van het bovenstaande commando, dood elk proces met behulp van het onderstaande commando.
De proces ID (PID) is te vinden in de eerste kolom van de schermafbeelding hierboven.
$ sudo kill -9 processnumberOR$ sudo kill -SIGKILL processnumber
Bijvoorbeeld, in het commando hieronder waar 9
het signaalnummer is voor het SIGKILL signaal, zal het eerste apt proces worden gedood:
$ sudo kill -9 13431OR$ sudo kill -SIGKILL 13431
Verwijder de lock bestanden
Een lock bestand verhindert simpelweg de toegang tot een ander bestand (of bestanden) of bepaalde gegevens op uw Linux systeem, dit concept is ook aanwezig in Windows en andere besturingssystemen.
Als je een apt-get of apt commando uitvoert, wordt er een lock bestand aangemaakt in een van deze directories /var/lib/apt/lists/, /var/lib/dpkg/ en /var/cache/apt/archives/.
Dit helpt om te voorkomen dat het apt-get of apt proces dat al loopt wordt onderbroken door een gebruiker of andere systeem processen die zouden moeten werken met bestanden die worden gebruikt door apt-get of apt. Wanneer het proces klaar is met uitvoeren, wordt de lock file verwijderd.
Belangrijk: In het geval dat een lock nog steeds wordt uitgevoerd in de twee bovenstaande directories zonder dat er een merkbaar apt-get of apt proces draait, kan dit betekenen dat het proces om de een of andere reden werd vastgehouden, daarom moet je de lock files verwijderen om de fout op te heffen.
U voert eerst het onderstaande commando uit om de lock file in de /var/lib/dpkg/
directory te verwijderen:
$ sudo rm /var/lib/dpkg/lock
Dwing daarna package(s) om te herconfigureren zoals dit:
$ sudo dpkg --configure -a
Als alternatief, verwijder de lock files in de /var/lib/apt/lists/
en cache directory zoals hieronder:
$ sudo rm /var/lib/apt/lists/lock$ sudo rm /var/cache/apt/archives/lock
Daarnaast werkt u de lijst met bronpakketten als volgt bij:
$ sudo apt updateOR$ sudo apt-get update
Tot slot hebben we twee belangrijke methoden doorgenomen om met een veelvoorkomend probleem van Ubuntu (en zijn afgeleiden) gebruikers om te gaan, tijdens het uitvoeren van apt-get of apt evenals aptitude commando’s.
Heeft u nog andere betrouwbare methoden om te delen bedoeld voor het omgaan met deze veel voorkomende fout? Neem dan contact met ons op via het feedback formulier hieronder.
Naast, kunt u net zo goed willen leren hoe te vinden en te doden lopende processen en lees door een eenvoudige gids voor kill, pkill en killall commando’s om een proces te beëindigen in Linux.