Išspręsti dpkg būsenos duomenų bazę užrakino kitas procesas

Resolve Dpkg Status Database Is Locked Another Process



Šioje pamokoje paaiškinta, kaip ištaisyti klaidą dpkg būsenos duomenų bazę užrakina kitas procesas „Debian“ pagrindu veikiančiuose „Linux“ platinimuose.

Paprastai ši klaida reiškia paketų vadybininkas yra naudojamas kito proceso, tikriausiai įstrigo. Klaida gali grąžinti tokią išvestį







dpkg būsenos duomenų bazę užrakina kitas procesas

Tačiau ta pati priežastis gali generuoti skirtingus klaidų pranešimus, kaip parodyta žemiau esančioje ekrano kopijoje.



dpkg: klaida: dpkg priekinės dalies užraktas užrakintas kitu procesu



Kiti tos pačios priežasties simptomai gali apimti šį pranešimą.





Laukiama talpyklos užrakto: nepavyko gauti užrakto/var/lib/dpkg/lock-frontend. Jį tvarko procesas 2839 (apt) ... 30s

Arba klaida parodyta žemiau.



E: nepavyko gauti lock/var/lib/dpkg/lock -frontend - open (11: šaltinis laikinai nepasiekiamas)
E: Nepavyksta įsigyti dpkg frontend lock (/var/lib/dpkg/lock-frontend), ar jį naudoja kitas procesas?

Daugeliu atvejų ankstesni pavyzdžiai rodo, kad jau diegiate, naujovinate ar pašalinate paketus. Kai kuriais atvejais keli administratoriai gali valdyti programinę įrangą per paketų tvarkytuvę arba procesas gali užblokuoti programą (dpkg), o šio proceso nužudymas, kaip paaiškinta toliau, išsprendžia problemą.

Pastaba: Visada nepamirškite naudoti dpkg ir tinkamas su sudo .

Kaip pataisyti „dpkg“ arba „apt“ užrakinta arba laikinai nepasiekiama:

Turite nustatyti dpkg užimantį procesą arba jį nužudyti. Norėdami nustatyti procesą, galite naudoti žemiau esančią komandą.

sudo lsof/var/lib/dpkg/lock

Kaip matote, proceso ID (PID) yra 16386 m . Norėdami jį nužudyti, paleiskite žemiau esančią komandą ir pakeiskite 16386 m naudojant PID, naudojant paketų tvarkyklę.

Sudo kill -9 16386

Taip pat galite paleisti žemiau esančią komandą, kad nustatytumėte PID numerį.

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

Tada paleiskite:

sudo dpkg --konfigūruoti -a

Kitas būdas identifikuoti PID procesą ir išspausdinti informaciją apie jo naudojimą yra ps komandą su grep, kaip parodyta žemiau.

ps iki | grep apt

Kitų dpkg ir apt klaidų taisymas

Šiame skyriuje galite rasti keletą komandų derinių, kad išspręstumėte kelias apt ir dpkg problemas.

Pirmoji komanda, kurią turėtumėte paleisti prieš problemas apt-update, kaip parodyta žemiau. Ši komanda atnaujina tinkamas saugyklas.

sudo apt-get atnaujinimas

Anksčiau naudotas dpkg –konfigūruoti -a komanda naudojama priklausomybės problemoms spręsti.

sudo dpkg --konfigūruoti -a

Toliau pateikta komanda taip pat gali būti naudojama priklausomybės problemoms išspręsti.

sudo apt -get -f įdiegti

Norėdami išvalyti nenaudingas priklausomybes, galite paleisti:

sudo apt-išvalyti

Apie „Debian“ paketų tvarkytojus

„Debian“ galimi paketų tvarkytojai apima dpkg, tinkamas , apt-get , gabumai , sinaptinis, ir dpkg-deb .

  • dpkg: „Dpkg“ yra pagrindinis „Debian“ ir jo platinimo paketų tvarkytojas.
  • tinka: yra dpkg sąsaja, galinti gauti paketus ir išspręsti priklausomybes.
  • gabumai: Interaktyvi sąsaja, skirta apt.
  • Sinaptikai: Grafinių paketų tvarkyklė.
  • dpkg-deb: Kita komanda įdiegti .deb paketus.

Papildomos informacijos apie visus „Debian“ paketų tvarkytuvus rasite adresu https://www.debian.org/doc/manuals/debian-faq/pkgtools.en.html#pkgprogs

Išvada

Kaip matote, išspręsti dpkg arba apt problemas yra gana paprasta, o dauguma klaidų turi žinomų priežasčių. Aukščiau paaiškintos komandos gali išspręsti beveik visas problemas, susijusias su sugedusiais paketais ar nutrauktomis procedūromis. Kadangi apt ir aptitude yra „dpkg“ sąsajos, paprastai problemos sprendimo priemonės yra tos pačios. Jei visi aprašyti veiksmai neveikia, o klaida įvyksta staliniame kompiuteryje, iš naujo paleidus kompiuterį, reikia išleisti paketų tvarkyklę. Bet visi aukščiau aprašyti veiksmai, jei jie taikomi teisingai, turi atlikti darbą.

Tikiuosi, kad šis straipsnis paaiškins, kaip išspręsti problemą dpkg būsenos duomenų bazę užrakina kitas procesas klaida buvo naudinga.