Lagfærðu „Ekki tókst að læsa stjórnunarskránni (/var/lib/dpkg/)“ í Ubuntu
Þegar þú notar APT pakkastjórnunartólið í Ubuntu Linux eða afleiður þess eins og Linux Mint (sem ég nota í raun sem aðalstýrikerfið mitt til að vinna daglega vinnu), gætirðu hafa rekist á villuna - \getur ekki læst stjórnunarskránni (/ var/lib/dpkg/) er annað ferli sem notar það“ á skipanalínunni.
Þessi villa getur verið svo pirrandi sérstaklega fyrir nýja Linux (Ubuntu) notendur sem vita kannski ekki nákvæmlega orsök villunnar.
Hér að neðan er dæmi sem sýnir læsingarskráarvilluna í Ubuntu 16.10:
[email :~$ sudo apt install neofetch [sudo] 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?
Úttakið hér að neðan er annað mögulegt dæmi um sömu villu:
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?
Hvernig geturðu leyst ofangreinda villu ef þú rekst á hana í framtíðinni? Það eru nokkrar leiðir til að takast á við þessa villu(r), en í þessari handbók munum við fara í gegnum tvær auðveldustu og líklega áhrifaríkustu leiðirnar til að leysa hana.
1. Finndu og drepðu alla apt-get eða apt ferli
Keyrðu skipunina hér að neðan til að grep skipanir ásamt leiðslu.
$ ps -A | grep apt
Fyrir hvert apt-get eða apt ferli sem þú getur séð í úttakinu á skipuninni hér að ofan, dreptu hvert ferli með því að nota skipunina hér að neðan.
Auðkenni ferlisins (PID) er að finna í fyrsta dálknum frá skjámyndinni hér að ofan.
$ sudo kill -9 processnumber OR $ sudo kill -SIGKILL processnumber
Til dæmis, í skipuninni hér að neðan þar sem 9
er merkisnúmerið fyrir SIGKILL merkið, drepur fyrsta viðeigandi ferlið:
$ sudo kill -9 13431 OR $ sudo kill -SIGKILL 13431
2. Eyddu læsingarskránum
Lásskrá kemur einfaldlega í veg fyrir aðgang að annarri skrá(m) eða einhverjum gögnum á Linux kerfinu þínu, þetta hugtak er til staðar í Windows og öðrum stýrikerfum líka.
Þegar þú keyrir apt-get eða apt skipun er læsaskrá búin til undir einhverri af þessum möppum /var/lib/apt/lists/, /var/lib/dpkg/ og /var/cache/apt/archives/.
Þetta hjálpar til við að koma í veg fyrir að apt-get eða apt ferlið sem þegar er í gangi verði truflað af annaðhvort notanda eða öðrum kerfisferlum sem þyrftu að vinna með skrár sem eru notaðar af apt-get eða apt. Þegar ferlinu er lokið er læsingarskránni eytt.
Mikilvægt: Ef lás er enn að fara út í möppunum tveimur hér að ofan án merkjanlegs apt-get eða apt ferli í gangi, getur það þýtt að ferlinu hafi verið haldið af einni eða annarri ástæðu, þess vegna þarftu að eyða læsaskránum til að hreinsa villuna.
Framkvæmdu fyrst skipunina hér að neðan til að fjarlægja læsingarskrána í /var/lib/dpkg/
möppunni:
$ sudo rm /var/lib/dpkg/lock
Þvingaðu síðan pakka/pakka til að endurstilla þannig:
$ sudo dpkg --configure -a
Að öðrum kosti skaltu eyða læsingarskrám í /var/lib/apt/lists/
og skyndiminni skrá eins og hér að neðan:
$ sudo rm /var/lib/apt/lists/lock $ sudo rm /var/cache/apt/archives/lock
Næst skaltu uppfæra heimildalistann þinn fyrir pakka sem hér segir:
$ sudo apt update OR $ sudo apt-get update
Að lokum höfum við gengið í gegnum tvær mikilvægar aðferðir til að takast á við algengt vandamál sem notendur Ubuntu (og afleiður þess) standa frammi fyrir, á meðan keyrt er apt-get eða apt sem og aptitude skipanir.
Ertu með einhverjar aðrar áreiðanlegar aðferðir til að deila til að takast á við þessa algengu villu? Hafðu þá samband við okkur í gegnum athugasemdaformið hér að neðan.
Að auki gætirðu líka viljað læra kill, pkill og killall skipanir til að slíta ferli í Linux.