Se sei un normale utente Ubuntu/Debian, potresti avere, a un certo punto, l'errore:"Impossibile ottenere il blocco /var/lib/dpkg/lock '. Questo è correlato all'errore "Impossibile ottenere il blocco /var/lib/apt/lists/lock" . Di seguito è riportato uno screenshot che mostra un tale errore.
Questo è un errore non fatale e di solito non è una delle principali cause di preoccupazione. Può essere facilmente risolto come dimostreremo in seguito. Ma cosa lo causa in primo luogo? Scopriamolo.
Cause dell'errore
La causa comune di questo errore è quando un processo utilizza il gestore di pacchetti APT per aggiornare/aggiornare/installare software o eseguire una gestione dei pacchetti sul sistema. Quando ciò accade, il processo blocca il file dpkg utilizzando un file di blocco in modo tale che un altro processo non alteri i dati, il che potrebbe causare errori e possibile danneggiamento di file cruciali nel sistema.
Ogni volta che si verifica questo errore, c'è un'alta probabilità che ci sia un altro processo simultaneo che esegue APT. Questo potrebbe essere un processo in esecuzione contemporaneamente su un altro terminale. L'errore può verificarsi anche a causa di un aggiornamento interrotto o di un processo di aggiornamento interrotto prematuramente premendo CTRL + C sul terminale o per la chiusura accidentale della finestra del terminale.
Come risolvere l'errore Impossibile ottenere il blocco /var/lib/dpkg/lock
Ecco alcuni suggerimenti che possono aiutarti a correggere l'errore e aiutarti a tornare a utilizzare il gestore di pacchetti APT.
Aspetta che il processo finisca
Se si dispone di un'altra sessione del terminale in cui il gestore di pacchetti APT viene utilizzato da un comando come l'aggiornamento o l'aggiornamento del sistema o l'installazione di un'applicazione, attendere che l'operazione venga completata correttamente. Dopo il completamento, puoi quindi eseguire il comando desiderato ed eseguire qualsiasi altra operazione utilizzando APT.
Termina i processi utilizzando il gestore di pacchetti APT
Se hai interrotto un processo utilizzando APT come l'annullamento di un aggiornamento o un aggiornamento dell'indice del pacchetto, identifica prima i processi utilizzando APT utilizzando il comando ps mostrato:
$ ps aux | grep -i apt
Dall'output, possiamo vedere che APT è utilizzato da due processi avviati da root. I processi portano i PID 3994 e 3999 . Dopo aver identificato i processi utilizzando APT, la prossima linea d'azione è terminare o terminare i processi.
Per ottenere ciò, usa il comando kill come segue.
$ kill -9 PID
Dall'output, elimineremo i processi che portano i PID di 3994 e 3999 come segue:
$ kill -9 3994
$ kill -9 3999
Il -9 flag attiva un segnale SIGKILL che termina immediatamente un processo senza consentirgli di uscire con grazia.
Un modo molto più semplice consiste nell'usare killall comando come mostrato.
$ killall apt apt-get
Dopo aver terminato i processi problematici, ora puoi procedere a utilizzare il gestore di pacchetti APT nel tuo comando.
Rimuovi i file di blocco
L'altra correzione che puoi applicare è rimuovere i file di blocco. Come discusso in precedenza, i file di blocco impediscono l'accesso ai dati da parte di due diversi processi. Per eliminare i file di blocco, esegui i seguenti comandi.
$ sudo rm /var/lib/dpkg/lock
$ sudo rm /var/lib/dpkg/lock-frontend
E infine, riconfigura i pacchetti.
$ sudo dpkg --configure -a
Conclusione
Ognuna di queste soluzioni ti aiuterà a navigare intorno a questo errore e ti consentirà di utilizzare il gestore di pacchetti APT per altre operazioni. Facci sapere cosa ha funzionato per te.