ENTRA
 

Su Linux non funziona più apt-get upgrade - blocco su record?

Linux

Fix ‘E: Could not get lock /var/lib/dpkg/lock’ Error in Ubuntu [Quick Tip]

Di recente hai installato un applicazione con apt-get install e quando provi a fare una nuova installazione ti da:

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?

Oppure messaggi simili:

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?

Entrambi questi errori sono simili a un altro errore Ubuntu comune, Impossibile bloccare directory / var / cache / apt / archives /, e la cosa interessante è che anche le correzioni sono simili.
Correzione dell'errore "Impossibile bloccare la directory di amministrazione
(/var/lib/dpkg/)". Vediamo alcuni metodi per provare ad eliminare tale errore:

Method 1:

Potrebbero esserci molte ragioni per cui capita questo . Il primo e più ovvio motivo è che alcuni altri processi utilizzano lo strumento di gestione dei pacchetti APT (il comando apt o apt-get, 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 terminare il processo in esecuzione. Per fare ciò, utilizzare il comando seguente:

ps aux | grep -i apt
 
Questo ti 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’.
Kill apt process in Ubuntu

È possibile utilizzare l'id processo per ucciderlo:

sudo kill -9 <process id>

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

Method 2:

Il primo metodo risolverebbe il problema per te nella maggior parte dei casi. Ma a me non funzionava. Stavo aggiornando il mio sistema e ho accidentalmente chiuso il terminale. Per questo motivo, non c'erano processi che eseguivano apt, ma mi mostrava ancora 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, creano alcuni file di blocco in alcuni punti. Se il precedente comando apt non è stato terminato correttamente, i file di blocco non vengono eliminati e quindi impediscono nuove istanze di comandi apt / apt-get.

Per risolvere il problema, è sufficiente 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 processo del processo che contiene i file di blocco. Esegui questi comandi uno per uno.
lsof /var/lib/dpkg/lock
lsof /var/lib/apt/lists/lock
lsof /var/cache/apt/archives/lock

È possibile che i comandi non restituiscano nulla o restituiscano solo un numero. Se restituiscono almeno un numero, utilizzare i numeri e terminare i processi in questo modo (sostituire il PID con i numeri ottenuti 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/lists/lock
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock

Successivamente, riconfigurare i pacchetti:

sudo dpkg --configure -a

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

Troubleshooting: “dpkg: error: dpkg frontend is locked by another process”

Se viene visualizzato l'errore "Il front-end di dpkg è bloccato da un altro processo" durante l'esecuzione del metodo sopra descritto, è necessario eseguire un passaggio aggiuntivo.

Innanzitutto, scopri 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. Utilizzare questo PID per terminare il processo.

sudo kill -9 PID

Ora puoi rimuovere il lucchetto 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.

Buon lavoro

MOMENTI DI VITA

cerca nel sito