Fix 'E: Impossibile ottenere l'errore lock / var / lib / dpkg / lock' in Ubuntu

Recentemente stavo cercando di installare un'applicazione usando il comando apt su Ubuntu quando ho riscontrato il seguente errore:

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

E: impossibile bloccare la directory di amministrazione (/ var / lib / dpkg /), è un altro processo che lo usa?

In effetti, c'è un errore simile che potresti vedere:

E: Impossibile ottenere il blocco / var / lib / apt / liste / lock - open (11: risorsa temporaneamente non disponibile)

E: impossibile bloccare la directory / var / lib / apt / liste /

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

E: impossibile bloccare la directory di amministrazione (/ var / lib / dpkg /), è un altro processo che lo usa?

Entrambi questi errori sono molto simili a un altro errore di Ubuntu comune Impossibile bloccare la directory / var / cache / apt / archives / e la cosa interessante è che anche le correzioni per tutti questi errori sono simili.

Metodo 1: Correzione Impossibile bloccare l'errore della directory di amministrazione (/ var / lib / dpkg /)

Potrebbero esserci molte ragioni per cui vedi questo errore. La prima e più ovvia ragione potrebbe essere che alcuni altri processi utilizzano lo strumento di gestione dei pacchetti APT (apt o apt-get command in altre parole). Controlla se Ubuntu Software Center o Synaptic Package Manager è in esecuzione o meno.

Puoi anche usare la riga di comando di Linux per trovare e uccidere il processo in esecuzione. Per farlo usa il comando qui sotto:

 ps aux | grep -i apt 

Questo mostrerà l'id del processo che esegue apt o apt-get. Nell'esempio seguente, l'id del processo è 7343. È possibile ignorare l'ultima riga contenente 'grep -color = auto'.

Puoi usare questo id di processo per ucciderlo:

 sudo kill -9 

Un altro modo più semplice sarebbe usare il comando killall. Questo ucciderà tutte le istanze di un programma in esecuzione.

 sudo killall apt apt-get 

Seguici per ulteriori utili tutorial su Linux :)

Seguici su Facebook 114, 3K Followers Seguici su Twitter 9.1K Followers Seguici su YouTube 24, 6K follower

Metodo 2: ulteriore correzione Impossibile bloccare l'errore della directory di amministrazione (/ var / lib / dpkg /)

Normalmente, questo risolverebbe il problema nella maggior parte dei casi. Ma il mio caso era un po 'diverso. Stavo aggiornando il mio sistema e chiuso per sbaglio il terminale. Per questo motivo, non c'erano processi in esecuzione su apt ma mi ha comunque mostrato l'errore.

In questo caso, la causa principale è il file di blocco. I file di blocco vengono utilizzati per impedire a due o più processi di utilizzare gli stessi dati. Quando vengono eseguiti i comandi apt o apt, crea file di blocco in alcuni punti. Quando il precedente comando apt non è stato terminato correttamente, i file di lock non sono stati cancellati e quindi impediscono nuove istanze di comandi apt / apt-get.

Per risolvere il problema, tutto ciò che devi fare è rimuovere i file di blocco. Ma prima di farlo, sarebbe una buona idea interrompere qualsiasi processo che utilizza i file di blocco.

Utilizzare il comando lsof per ottenere l'ID di processo del processo che contiene i file di blocco. Esegui questi comandi uno per uno.

 lsof / var / lib / dpkg / lock

lsof / var / lib / apt / liste / lock

lsof / var / cache / apt / archives / lock

È possibile che i comandi non restituiscano nulla o restituiscano un solo numero. Se restituiscono almeno un numero, usa il numero (i) e uccidi i processi come questo. Sostituisci il PID con i numeri che hai ottenuto dai comandi sopra:

 sudo kill -9 PID 

Ora puoi rimuovere in sicurezza i file di blocco usando i comandi seguenti:

 sudo rm / var / lib / apt / liste / lock

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

sudo rm / var / lib / dpkg / lock

Successivamente, riconfigurare i pacchetti

 sudo dpkg --configure -a 

Ora se si esegue il comando sudo apt update, tutto dovrebbe andare bene.

Risoluzione dei problemi: dpkg: error: dpkg frontend è bloccato da un altro processo

Se viene visualizzato l'errore "dpkg frontend è bloccato da un altro processo" mentre si esegue il metodo sopra descritto, sarà necessario eseguire un ulteriore passaggio.

In primo luogo, trovare l'id del processo che contiene il file di blocco.

 lsof / var / lib / dpkg / lock-frontend 

Il comando sopra ti darà il PID dei processi usando i file di blocco. Usa questo PID per uccidere il processo.

 sudo kill -9 PID 

Ora puoi rimuovere il blocco e riconfigurare dpkg:

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

sudo dpkg --configure -a

Spero che questo piccolo suggerimento ti abbia aiutato a correggere l'errore "Impossibile ottenere lock / var / lib / dpkg / lock". Se hai domande o suggerimenti, non esitare a lasciare un commento.

Raccomandato

Come guardare le distribuzioni basate su Linux su Hulu On Arch
2019
Xenlism WildFire: Minimal Icon Theme per desktop Linux
2019
Midori: un browser Web open source leggero
2019