Introduzione
In Ubuntu, a volte potresti riscontrare un errore quando tenti di eseguire un apt
comando:
Impossibile ottenere il blocco /var/lib/dpkg/lock – aperto (11:Risorsa temporaneamente non disponibile)
E:Impossibile bloccare la directory di amministrazione (/var/lib/dpkg/), viene utilizzata da un altro processo?
Questo messaggio ti informa che dpkg, il servizio Debian Package Manager, non è disponibile.
Utilizza le opzioni in questa guida per risolvere l'errore "Impossibile ottenere il blocco..." di Ubuntu.
Prerequisiti
- Accesso a una finestra di terminale/riga di comando
- Un account utente con sudo o root privilegi
5 opzioni per correggere l'errore Ubuntu "Impossibile ottenere il blocco"
Per impostazione predefinita, il servizio di aggiornamento viene avviato all'avvio di Ubuntu. L'aggiornamento automatico utilizza dpkg per controllare e installare gli aggiornamenti.
Il dpkg il servizio si blocca in modo che due processi non aggiornino il contenuto contemporaneamente. Il servizio è bloccato per evitare potenziali danneggiamenti nel sistema. Tuttavia, significa anche che l'utente non può, ad esempio, eseguire un semplice apt
comando.
1:Attendi o riavvia
Concedi al sistema fino a 10 minuti dopo aver visualizzato l'errore, prova di nuovo l'installazione del software.
Se sei certo che non sia stato installato nulla, puoi riavviare la macchina e riprovare.
Per regolare le impostazioni per gli aggiornamenti automatici:
1. Fai clic su Attività > Cerca .
2. Digita Aggiornamenti .
3. Fare clic sull'icona per Software e aggiornamenti .
4. Utilizza le caselle di controllo e i menu a discesa per selezionare la pianificazione degli aggiornamenti preferita.
2:Esamina i processi in esecuzione
1. Se hai già provato ad aspettare e riavviare il sistema e continui a ricevere l'errore, usa il seguente comando per vedere quali servizi di installazione sono in esecuzione:
ps aux | grep -i apt
2. Se sono presenti applicazioni che utilizzano apt , appariranno nell'elenco. Cerca una voce simile a:
/usr/lib/apt/apt.systemd.daily update
3. L'daily update
messaggio significa che il tuo sistema sta eseguendo aggiornamenti normali. Devi attendere il completamento di questo processo, ma non sono richieste altre azioni.
Potresti avere un altro apt processo in esecuzione:
root 2810 0.0 0.0 72948 4312 pts/0 S+ 15:03 0:00 sudo apt-get remove logstash
Le colonne più importanti sono la seconda colonna, che elenca il PID (ID processo) e l'ultima colonna che mostra il servizio che sta utilizzando apt.
4. In alternativa, potresti avere un dpkg servizio ancora in esecuzione. Per trovarlo, usa il seguente comando:
ps aux | grep -i dpkg
L'output di dpkg sarà simile all'output di apt.
3:Rivolgiti al servizio Stuck Apt
1. Se hai un mistero apt o dpkg servizio in esecuzione, terminarlo e vedere se questo risolve il tuo errore. Usa il seguente comando:
sudo kill 8808
2. Sostituisci 8808
con l'ID del processo effettivo (PID) dal passaggio 2. Dovrebbe essere completato e tornare a una nuova riga del prompt dei comandi. In caso contrario, forza l'interruzione del processo aggiungendo il -9
opzione:
sudo kill -9 8808
Questo dovrebbe aver risolto il problema.
4:Elimina i file di blocco
Il messaggio di errore in Ubuntu potrebbe apparire simile al seguente:
/var/lib/dpkg/lock
/var/lib/dpkg/lock-frontend
/var/lib/apt/lists/lock
/var/cache/apt/archives/lock
Questi sono file di blocco , creati per impedire due istanze di apt o dpkg dall'utilizzo degli stessi file contemporaneamente. Ciò può verificarsi se un'installazione viene interrotta o non è stata completata. Rimuovere i file di blocco a proprio rischio.
Per eliminare i file di blocco, utilizza il rm
comando:
sudo rm /var/lib/dpkg/lock
sudo rm /var/lib/apt/lists/lock
sudo rm /var/cache/apt/archives/lock
La rimozione di questi file dovrebbe correggere l'errore.
5:Riconfigura dpkg
1. Esegui --configure
comando se hai appena eliminato i file di blocco. Inoltre, questo comando ti aiuterà se ricevi il seguente errore:
"dpkg è stato interrotto, devi eseguire manualmente 'sudo dpkg –configure -a' per correggere il problema."
2. Immettere il comando come mostrato sopra:
sudo dpkg --configure -a
L'output restituisce una nuova riga e il comando dovrebbe risolvere il problema.
Correzione Impossibile ottenere il blocco /var/lib/dpkg/lock-frontend Error
I passaggi per correggere questo errore seguono lo schema simile nei metodi descritti sopra. L'errore completo è:
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?
1.Non rimuovere immediatamente i file di blocco . Prima di farlo, individua e termina tutti i processi che potrebbero utilizzare i file.
sudo lsof /var/lib/dpkg/lock-frontend
2. L'output restituisce un risultato simile a:
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs
Output information may be incomplete.
lsof: WARNING: can't stat() fuse file system /run/user/1000/doc
Output information may be incomplete.
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
unattende 1127 root 2oW REG 7,2 0 165231 /var/lib/dpkg/lock-frontent
3. Se vedi unattended
nella colonna dei comandi, il tuo sistema sta installando un aggiornamento di sicurezza. Attendi il completamento del processo.
4. Altrimenti, prendi nota di tutti gli ID di processo e terminali con l'opzione di forza:
sudo kill -9 process_id
5. Dopo averlo fatto, puoi provare a rimuovere il lock-frontend file.
sudo rm /var/lib/dpkg/lock-frontend
Questo dovrebbe correggere l'errore.
6. L'ultima cosa che puoi provare dopo aver eliminato i file di blocco è riconfigurare dpkg come mostrato nella quinta sezione.
sudo dpkg --configure -a
Per verificare se questi passaggi hanno corretto l'errore, esegui il comando di aggiornamento:
sudo apt update
Quando il processo viene completato correttamente, ciò mostra che hai corretto l'errore "E:Impossibile ottenere il blocco /var/lib/dpkg/lock".