Oplossen dat de dpkg-statusdatabase is vergrendeld door een ander proces

Resolve Dpkg Status Database Is Locked Another Process



In deze zelfstudie wordt uitgelegd hoe u de fout kunt oplossen dpkg-statusdatabase is vergrendeld door een ander proces in op Debian gebaseerde Linux-distributies.

Meestal betekent deze fout dat de pakketbeheerder wordt gebruikt door een ander proces, waarschijnlijk vastgelopen. De fout kan een uitvoer retourneren zoals







dpkg-statusdatabase is vergrendeld door een ander proces

Maar dezelfde oorzaak kan verschillende foutmeldingen genereren, zoals weergegeven in de onderstaande schermafbeelding.



dpkg: fout: dpkg frontend lock is vergrendeld door een ander proces



Andere symptomen van dezelfde oorzaak kunnen het volgende bericht bevatten.





Wachten op cachevergrendeling: kon lock /var/lib/dpkg/lock-frontend niet ophalen. Het wordt gehouden door proces 2839 (apt)... 30s

Of de fout wordt hieronder weergegeven.



E: Kon lock /var/lib/dpkg/lock-frontend niet ophalen - open (11: Resource tijdelijk niet beschikbaar)
E: Kan de dpkg frontend lock niet verkrijgen (/var/lib/dpkg/lock-frontend), gebruikt een ander proces het?

In de meeste gevallen melden eerdere voorbeelden dat u al pakketten aan het installeren, upgraden of verwijderen bent. In sommige gevallen kunnen meerdere beheerders software beheren via pakketbeheer, of een proces kan de toepassing blokkeren (dpkg), en het beëindigen van dat proces, zoals hieronder uitgelegd, lost het probleem op.

Opmerking: Onthoud altijd om te gebruiken dpkg en geschikt met sudo .

Hoe dpkg of apt vergrendeld of tijdelijk niet beschikbaar te repareren:

U moet het proces identificeren dat dpkg bezet of geschikt is om het te doden. Om het proces te identificeren, kunt u de onderstaande opdracht gebruiken.

sudo lsof /var/lib/dpkg/lock

Zoals u kunt zien, is de proces-ID (PID) 16386 . Om het te doden, voer je de onderstaande opdracht uit, ter vervanging van 16386 voor de werkelijke PID met behulp van de pakketbeheerder.

sudo kill -9 16386

U kunt ook de onderstaande opdracht uitvoeren om het PID-nummer te identificeren.

sudo lsof /var/cache/apt/archives/lock

Voer dan uit:

sudo dpkg --configure -a

Een andere manier om het PID-proces te identificeren en informatie over het gebruik ervan af te drukken, is met behulp van de: ps commando met grep, zoals hieronder weergegeven.

ps naar | grep apt

Andere dpkg- en apt-fouten herstellen

In deze sectie vindt u enkele combinaties van opdrachten om verschillende problemen met apt en dpkg op te lossen.

De eerste opdracht die u moet uitvoeren voordat er problemen optreden, is: apt-update, zoals hieronder weergegeven. Deze opdracht werkt apt-repository's bij.

sudo apt-get update

De eerder gebruikte dpkg –configure -a commando wordt gebruikt om afhankelijkheidsproblemen op te lossen.

sudo dpkg --configure -a

De onderstaande opdracht kan ook worden gebruikt om afhankelijkheidsproblemen op te lossen.

sudo apt-get -f install

Om nutteloze afhankelijkheden op te schonen, kunt u het volgende uitvoeren:

sudo apt-get clean

Over Debian-pakketbeheerders

De beschikbare pakketbeheerders van Debian omvatten dpkg, geschikt , apt-get , geschiktheid , synaptisch, en dpkg-deb .

  • dpkg: Dpkg is de belangrijkste pakketbeheerder voor Debian en zijn gebaseerde distributies.
  • geschikt: is een frontend voor dpkg die pakketten kan ophalen en afhankelijkheden kan oplossen.
  • geschiktheid: Een interactieve frontend voor apt.
  • synaptiek: Beheerder van grafische pakketten.
  • dpkg-deb: Nog een opdracht om .deb-pakketten te installeren.

U kunt aanvullende informatie over alle pakketbeheerders van Debian vinden op: https://www.debian.org/doc/manuals/debian-faq/pkgtools.en.html#pkgprogs

Conclusie

Zoals u kunt zien, is het oplossen van problemen met dpkg of apt vrij eenvoudig, en de meeste fouten hebben bekende oorzaken. De hierboven uitgelegde opdrachten kunnen bijna alle problemen oplossen die verband houden met kapotte pakketten of onderbroken procedures. Aangezien apt en aptitude frontends van dpkg zijn, zijn de maatregelen om problemen op te lossen meestal hetzelfde. Als alle beschreven stappen niet werken en uw fout zich voordoet op een desktopcomputer, moet het herstarten van uw computer de pakketbeheerder vrijgeven. Maar alle bovenstaande stappen moeten, indien correct toegepast, het werk doen.

Ik hoop dat dit artikel uitlegt hoe je het probleem kunt oplossen dpkg-statusdatabase is vergrendeld door een ander proces fout was handig.