GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come risolvere l'errore "E:Impossibile ottenere il blocco /var/lib/dpkg/lock" su Ubuntu

Questa breve guida ti aiuta a correggere l'errore "E:Impossibile ottenere il blocco /var/lib/dpkg/lock" su Ubuntu. Questo di solito si verifica quando c'è già un'altra operazione apt in esecuzione in background.

Ho una macchina virtuale Ubuntu 18.04 LTS che uso a scopo di test. Ogni volta che avvio questa VM e provo ad aggiornare o installare qualsiasi applicazione utilizzando il gestore di pacchetti APT, ottengo il seguente errore:

E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?

Oppure, errori simili come di seguito:

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?
E: Could not get lock /var/lib/apt/lists/lock – open (11: Resource temporarily unavailable)
E: Unable to lock directory /var/lib/apt/lists/

Succede ogni singola volta. Ho dovuto aspettare qualche minuto per eseguire un'operazione apt.

So che alcuni processi hanno bloccato il database apt durante l'installazione o la rimozione del software o l'aggiornamento del sistema in background. Ho eseguito il "top" comando per esaminare l'elenco dei processi in esecuzione. Dopo aver esaminato l'output del comando top, sono venuto a sapere che esiste un processo chiamato aggiornamento automatico , che esegue apt update ogni volta che accendo la mia macchina virtuale Ubuntu. Mentre l'aggiornamento apt è in esecuzione, il database apt è bloccato e non ho potuto eseguire alcuna operazione apt.

Correzione dell'errore "E:Impossibile ottenere il blocco /var/lib/dpkg/lock" su Ubuntu

Se hai mai riscontrato questo problema, attendi alcuni minuti fino al completamento dell'attività di installazione, aggiornamento o disinstallazione in corso. Il completamento di questo processo richiederà del tempo (da 5 a 10 minuti o più) a seconda delle dimensioni dell'aggiornamento. Una volta completata l'attività, il blocco verrà rilasciato automaticamente.

Ma se il processo è bloccato per qualche motivo e ha bloccato il database apt per diversi minuti, non hai altra scelta che rimuovere il blocco. In tal caso, segui la procedura seguente per risolverlo.

Per prima cosa scopriamo quale processo possiede il file di blocco, ad esempio /var/lib/dpkg/lock .

$ sudo lsof /var/lib/dpkg/lock

Se il file di blocco è diverso, ad esempio /var/lib/dpkg/lock-frontend , puoi trovare il PID del processo che possiede questo file di blocco con il comando:

$ sudo lsof /var/lib/dpkg/lock-frontend

Se il file di blocco è "/var/lib/apt/lists/lock" , esegui:

$ sudo lsof /var/lib/apt/lists/lock

Risultato di esempio:

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
unattende 1548 root 6uW REG 8,2 0 1181062 /var/lib/dpkg/lock

E:Impossibile ottenere il blocco /var/lib/dpkg/lock-frontend - open (11:Risorsa temporaneamente non disponibile)

Come puoi vedere nell'output sopra, il PID del processo che contiene il file di blocco è 1548 .

Basta ucciderlo per rilasciare il blocco usando il comando:

$ sudo kill -9 1548

Ora puoi rimuovere in sicurezza il lucchetto con i comandi:

$ sudo rm /var/lib/dpkg/lock

Oppure,

$ sudo rm /var/lib/dpkg/lock-frontend

Oppure,

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

Inoltre potrebbe essere necessario eliminare il file di blocco nella directory della cache:

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

Dopo aver rimosso il blocco, esegui:

$ sudo dpkg --configure -a

Questo dovrebbe risolvere il problema.

Questo metodo funzionerà bene il 99% delle volte. Ma tieni presente che se il processo di aggiornamento è in esecuzione e hai interrotto il processo nel mezzo dell'installazione del pacchetto, potresti finire con il sistema rotto. In questi casi, non farti prendere dal panico, segui la guida qui sotto per risolverlo.

  • Come riparare il sistema operativo Ubuntu danneggiato senza reinstallarlo

Buona fortuna!

Lettura correlata:

  • Come disabilitare gli aggiornamenti automatici su Ubuntu

Ubuntu
  1. Correzione dell'errore "dpkg:error:parsing file '/var/lib/dpkg/updates/0014'" in Ubuntu

  2. Correzione E:impossibile ottenere il blocco /var/cache/apt/archives/lock [Suggerimento rapido]

  3. Ubuntu E:Impossibile ottenere il blocco /var/lib/dpkg/lock error - Risolvilo ora?

  4. Differenza tra /var/log/messages, /var/log/syslog e /var/log/kern.log?

  5. Come bloccare Ubuntu?

Risolto il problema con "Il sottoprocesso /usr/bin/dpkg ha restituito un codice di errore (1)" in Ubuntu

Come correggere l'errore Busybox Initramfs su Ubuntu

Come risolvere l'errore "E:impossibile ottenere il blocco /var/lib/dpkg/lock" in Ubuntu

Correzione dell'errore "Impossibile ottenere il blocco /var/lib/dpkg/lock" una volta per tutte (Ubuntu)

Come risolvere l'errore "E:impossibile ottenere il blocco /var/lib/dpkg/lock" in Ubuntu Linux

Come risolvere l'errore "Il repository non è ancora valido" in Ubuntu Linux