Com solucionar l'error »no s'ha pogut bloquejar /var/lib/dpkg/lock»

no s'ha pogut bloquejar ⁄var⁄lib⁄dpkg⁄lock

Encara que una distribució Linux podria triar instal·lar el programari com més li convingués, el més habitual és que, com a mínim, el puguin instal·lar des dels seus dipòsits oficials. Aquests repositoris poden estar mantinguts directament per la distribució i/o basar-se en altres, com passa amb Debian->Ubuntu->Linux Mint, per exemple. En aquests casos, el gestor de paquets és APT, i de vegades podem veure el missatge «no es va poder bloquejar /var/lib/dpkg/lock» al terminal o fins i tot en alguna eina amb interfície gràfica.

Aquest article intentarà llançar una mica de llum sobre què és i com es pot solucionar la decisió que provoca que vegem el missatge «no es va poder bloquejar /var/lib/dpkg/lock», però ja us avanço que hi ha una solució molt senzilla que pot arreglar aquest i molts altres problemes, ja sigui en una distribució basada en Linux o qualsevol un altre sistema operatiu, inclosos els mòbils.

Què significa l'error «no es va poder bloquejar /var/lib/dpkg/lock»

En general, quan veiem l'error «no es va poder bloquejar /var/lib/dpkg/lock», el terminal o el programari que ens ho mostri ens indica que un altre procés d'APT està en execució i utilitza la mateixa base de dades a la qual estem intentant accedir-hi. En altres paraules, el nou procés APT intenta bloquejar el fitxer /var/lib/dpkg/lock, no ho aconsegueix perquè està ocupat i ens n'informa.

El més habitual és que un altre procés d'APT, com pot ser el d'actualització, ja estigui en marxa i ha bloquejat el fitxer de bloqueig, de manera que no pot fer el primer pas, que és justament bloquejar aquest fitxer.

Com solucionar l'error

El primer que hem de fer, sobretot si no ens agrada estirar terminal, és comprovar si hi ha alguna aplicació de programari executant-se. Per exemple, a Ubuntu podem veure si Ubuntu Software (fork del GNOME Software) està fent alguna cosa, i també Actualització de Programari, l'aplicació que s'encarrega, com el seu nom indica, d'actualitzar el programari. Si no veiem cap d'aquestes aplicacions obertes, també podem iniciar el monitor del sistema i cercar-les per veure si s'estan executant en segon pla.

Els aplicacions que hem de buscar dependran de la distribució que estiguem usant, ja que Ubuntu Software no és a Kubuntu, ni Discover a la versió principal de Debian. Cada distribució gestiona el programari amb les eines que decideix afegir, i poden bloquejar el fitxer GNOME Software, Discover, qualsevol altra botiga de programari o l'eina d'actualitzacions.

Sigui que estan en primer pla o en segon, una opció és tenir paciència i esperar per veure si finalitza la feina que està fent. De vegades veiem un missatge derror i volem que se solucioni a linstant, quan la solució és esperar un moment.

Un reinici o tancament de sessió hauria de ser suficient

Fa molts anys, un amic sempre m'estava preguntant com solucionar els seus errors a Windows. Va arribar un moment en què ja gairebé ni li preguntava, i li recomanava reiniciar perquè gairebé sempre era la millor solució per a ell. En el cas de l'error "no s'ha pogut bloquejar /var/lib/dpkg/lock" també és una possible solució. En iniciar des de zero, pot ser que comenci amb el fitxer bloquejat per l'eina d'actualitzacions, però el desbloquejarà aviat, quan comproveu que no hi ha res de nou per instal·lar o sí que n'hi hagi, però ja ens n'hagi informat.

És clar que no és la solució més elegant, però és la menys costosa i pot ser la millor i més ràpida si no tenim cap motiu per mantenir la sessió iniciada.

Quan el missatge "no es va poder bloquejar /var/lib/dpkg/lock" no es va

Quan hem reiniciat o esperat una estona i seguim veient el missatge, el que ens està passant no és habitual. El bloqueig s'ha quedat «penjat» o, valgui la redundància, bloquejat, per la qual cosa ja val la pena estirar terminal.

  1. El primer que farem serà obrir un terminal i identificar el procés APT en execució amb aquesta ordre:
sudo lsof /var/lib/dpkg/lock
  1. Amb el procés identificat, el matem amb aquesta ordre, substituint PID pel número del procés que haurem esbrinat amb l'ordre del pas 1:
sudo kill PID
  1. Finalment, tornem a intentar realitzar la gestió APT que ens tornava la decisió. Ens hauria de permetre seguir endavant.

Si això no ho soluciona, podem realitzar una mica més dràstic, per la qual cosa caldrà prendre precaucions o fer passos extra. Això és fer-ho «a les braves»: eliminant el fitxer /var/lib/dpkg/lock. Els passos a seguir per fer-ho amb total seguretat serien aquests:

  1. Fem una còpia de seguretat del fitxer /var/lib/dpkg/lock. Com el que farem serà copiar-ho, podem fer servir el gestor de fitxers, ja que no es requereixen permisos de superusuari. Des del terminal es podria fer amb cp /var/lib/dpkg/lock nova-ruta, canviant «nova-ruta» per la ruta on volem fer la còpia de seguretat.
  2. Eliminem el fitxer. Per això sí que caldrà estirar privilegis. Si el nostre gestor de fitxers ens ho permet, podem escriure, per exemple, «sudo nautilus» sense les cometes per eliminar-lo amb interfície gràfica, però crec que serà més ràpid i senzill obrir el terminal i escriure:
sudo rm /var/lib/dpkg/lock
  1. Amb el fitxer eliminat ja podem tornar a intentar allò que no se'ns permetia. Si escrivim sudo apt update i no veiem l'error, la decisió està solucionada.

El reinici i la paciència solen ser el millor

Tot i que hi ha maneres de solucionar-ho, com les explicades al punt anterior, l'error »no es va poder bloquejar /var/lib/dpkg/lock» no és res realment greu i es pot solucionar esperant un moment o reiniciant. És una cosa que en general s'arregla per si mateix, i si no ho fa, el reinici és el menys agressiu i més efectiu. Ara bé, això és Linux, i tot o gairebé tot té solució des del terminal, per no parlar que podem «carregar-nos» tot allò que ens vingui de gust.

Sigui pel motiu que sigui, espero que allò exposat aquí hagi pogut ajudar-te, o bé per fer desaparèixer el missatge amb un procés més agressiu o perquè tinguis una mica de paciència.


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: AB Internet Networks 2008 SL
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.

  1.   Danilo Quispe Lucana va dir

    holas:

    A mi em funciona aquesta comanda (provat a Xubuntu 18.04 LTS):

    sudo fuser -vki /var/lib/dpkg/lock

    També és vàlid per a altres fitxers bloquejats, com ara /var/lib/dpkg/lock-frontend o /var/lib/apt/lists/lock.

    Salutacions