Gyara Ba a iya kulle littafin gudanarwa (/var/lib/dpkg/) a cikin Ubuntu


Yayin amfani da kayan aikin sarrafa fakitin APT a cikin Ubuntu Linux ko abubuwan da suka samo asali kamar Linux Mint (wanda a zahiri nake amfani da shi azaman tsarin aiki na farko don yin aikin yau da kullun), wataƙila kun gamu da kuskuren -\kasa kulle littafin gudanarwa (/ var/lib/dpkg/) wani tsari ne da ke amfani da shi” akan layin umarni.

Wannan kuskuren na iya zama mai ban haushi musamman ga sabbin masu amfani da Linux (Ubuntu) waɗanda ƙila ba su san ainihin dalilin kuskuren ba.

Da ke ƙasa akwai misali, yana nuna kuskuren fayil ɗin kulle a cikin 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?

Fitowar da ke ƙasa wani misali ne mai yuwuwar kuskure iri ɗaya:

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?

Ta yaya za ku iya magance kuskuren da ke sama idan kun ci karo da shi nan gaba? Akwai hanyoyi da yawa na magance wannan kuskure (s), amma a cikin wannan jagorar, za mu bi ta hanyoyi biyu mafi sauƙi kuma mai yiwuwa mafi inganci hanyoyin magance shi.

1. Nemo kuma Kashe duk hanyoyin da suka dace ko dacewa

Gudun umarnin da ke ƙasa don grep umarni tare da bututun mai.

$ ps -A | grep apt

Ga kowane tsari mai dacewa ko dacewa wanda zaku iya gani a cikin fitowar umarnin da ke sama, kashe kowane tsari ta amfani da umarnin da ke ƙasa.

Ana samun ID ɗin tsari (PID) a shafi na farko daga hoton da ke sama.

$ sudo kill -9 processnumber
OR
$ sudo kill -SIGKILL processnumber

Misali, a cikin umarnin da ke ƙasa inda 9 shine lambar siginar siginar SIGKILL, zai kashe tsarin farko da ya dace:

$ sudo kill -9 13431
OR
$ sudo kill -SIGKILL 13431

2. Share fayilolin kulle

Fayil ɗin kulle yana hana samun dama ga wani fayil (s) ko wasu bayanai akan tsarin Linux ɗin ku, wannan ra'ayi yana nan a cikin Windows da sauran tsarin aiki ma.

Da zarar kun gudanar da umarni mai dacewa ko dacewa, an ƙirƙiri fayil ɗin kulle ƙarƙashin kowane ɗayan waɗannan kundayen adireshi /var/lib/apt/lists/, /var/lib/dpkg/ da /var/cache/apt/archives/.

Wannan yana taimakawa don guje wa tsarin da ya dace ko dacewa wanda ya riga ya gudana daga katsewa ta ko dai mai amfani ko wasu tsarin tsarin da zai buƙaci aiki tare da fayilolin da ake amfani da su ta apt-get ko dace. Lokacin da tsari ya gama aiwatarwa, ana share fayil ɗin kulle.

Muhimmi: Idan har yanzu kulle yana fita a cikin kundayen adireshi biyu da ke sama ba tare da wani ingantaccen tsari ko ingantaccen tsari yana gudana ba, wannan na iya nufin an gudanar da tsarin saboda dalili ɗaya ko ɗaya, don haka kuna buƙatar share fayilolin kulle don yin hakan. share kuskure.

Da farko aiwatar da umarnin da ke ƙasa don cire fayil ɗin kulle a cikin kundin adireshin /var/lib/dpkg/:

$ sudo rm /var/lib/dpkg/lock

Daga baya tilasta kunshin (s) don sake saitawa kamar haka:

$ sudo dpkg --configure -a

A madadin, share fayilolin kulle a cikin /var/lib/apt/lists/ da kundin adireshi kamar ƙasa:

$ sudo rm /var/lib/apt/lists/lock
$ sudo rm /var/cache/apt/archives/lock

Na gaba, sabunta lissafin tushen fakitinku kamar haka:

$ sudo apt update
OR
$ sudo apt-get update

A ƙarshe, mun bi ta hanyoyi biyu masu mahimmanci don magance wata matsala ta gama gari da masu amfani da Ubuntu (da abubuwan da suka samo asali) ke fuskanta, yayin gudanar da apt-get ko dace da kuma umarni na ƙwarewa.

Shin kuna da wasu amintattun hanyoyin da za ku raba da nufin magance wannan kuskuren gama gari? Sa'an nan a tuntube mu ta hanyar amsa tambayoyin da ke ƙasa.

Bugu da kari, kuna iya son koyan kisa, pkill da kashe duk umarni don ƙare tsari a cikin Linux.