Fix „Unable to lock the administration directory (/var/lib/dpkg/)” în Ubuntu

În timp ce folosiți comanda apt-get sau instrumentul relativ nou de gestionare a pachetelor APT în Ubuntu Linux sau în derivatele sale, cum ar fi Linux Mint (pe care eu îl folosesc ca sistem de operare principal pentru munca de zi cu zi), este posibil să fi întâlnit eroarea – „unable to lock the administration directory (/var/lib/dpkg/) is another process using it” pe linia de comandă.

Această eroare poate fi atât de enervantă, în special pentru noii utilizatori de Linux (Ubuntu) care s-ar putea să nu știe exact cauza erorii.

Mai jos este un exemplu, care arată eroarea de blocare a fișierului în Ubuntu 16.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?

Succesul de mai jos este un alt caz posibil al aceleiași erori:

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?

Cum puteți rezolva eroarea de mai sus în cazul în care vă veți lovi de ea în viitor? Există mai multe modalități de rezolvare a acestei (acestor) erori, dar în acest ghid vom trece în revistă cele mai simple și, probabil, cele mai eficiente două modalități de rezolvare a acesteia.

Căutați și omorâți toate procesele apt-get sau apt

Executați comanda de mai jos pentru a genera o listă a tuturor proceselor al căror nume cuprinde cuvântul apt, veți obține o listă inclusiv a tuturor proceselor apt sau apt-get prin utilizarea comenzilor ps și grep împreună cu un pipeline.

$ ps -A | grep apt
Găsește procesele apt și apt-get

Pentru fiecare proces apt-get sau apt pe care îl puteți vedea în ieșirea comenzii de mai sus, omorâți fiecare proces folosind comanda de mai jos.

ID-ul procesului (PID) se găsește în prima coloană din captura de ecran de mai sus.

$ sudo kill -9 processnumberOR$ sudo kill -SIGKILL processnumber

De exemplu, în comanda de mai jos, unde 9 este numărul semnalului pentru semnalul SIGKILL, va ucide primul proces apt:

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

Eliminarea fișierelor de blocare

Un fișier de blocare împiedică pur și simplu accesul la un alt fișier (fișiere) sau la anumite date de pe sistemul Linux, acest concept este prezent și în Windows și în alte sisteme de operare.

După ce executați o comandă apt-get sau apt, se creează un fișier de blocare în oricare dintre aceste directoare /var/lib/apt/lists/, /var/lib/dpkg/ și /var/cache/apt/archives/.

Aceasta ajută la evitarea întreruperii procesului apt-get sau apt care rulează deja, fie de către un utilizator, fie de către alte procese de sistem care ar trebui să lucreze cu fișierele folosite de apt-get sau apt. Atunci când procesul a terminat de executat, fișierul de blocare este apoi șters.

Important: În cazul în care o blocare este încă în curs de ieșire în cele două directoare de mai sus fără ca vreun proces apt-get sau apt să fie în curs de execuție vizibil, acest lucru poate însemna că procesul a fost reținut dintr-un motiv sau altul, prin urmare trebuie să ștergeți fișierele de blocare pentru a șterge eroarea.

În primul rând executați comanda de mai jos pentru a elimina fișierul de blocare din directorul /var/lib/dpkg/:

$ sudo rm /var/lib/dpkg/lock

După aceea forțați pachetul (sau pachetele) să se reconfigureze astfel:

$ sudo dpkg --configure -a

Alternativ, ștergeți fișierele de blocare din directorul /var/lib/apt/lists/ și cache ca mai jos:

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

În continuare, actualizați lista de surse a pachetelor după cum urmează:

$ sudo apt updateOR$ sudo apt-get update

În concluzie, am parcurs două metode importante pentru a rezolva o problemă comună cu care se confruntă utilizatorii Ubuntu (și derivatele sale), în timp ce rulează apt-get sau apt, precum și comenzile aptitude.

Aveți alte metode de încredere de împărtășit menite să rezolve această eroare comună? Atunci intrați în contact cu noi prin intermediul formularului de feedback de mai jos.

În plus, s-ar putea la fel de bine să doriți să învățați cum să găsiți și să omorâți procesele care rulează și să citiți un ghid simplu pentru comenzile kill, pkill și killall pentru a termina un proces în Linux.

Lasă un răspuns

Adresa ta de email nu va fi publicată.