Ottengo questo errore quando cerco di usare apt-get
:
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?
Come posso risolvere questo problema?
Otterrete questo messaggio se dimenticate di usare sudo
quando eseguite un comando apt.
Altrimenti questo è un segno che qualcos'altro sta installando o rimuovendo software e ha bloccato il database di apt mentre esegue le azioni. I programmi che possono fare questo sono:
IMPORTANTE: provate solo come ultima risorsa, dato che può mandare in crash il vostro sistema. Prima prova ad uccidere qualsiasi istanza in esecuzione di apt
o aptitude
come descritto in Faheem'risposta.
È possibile forzare il blocco rimuovendo il file, ma non è raccomandato senza prima chiudere il programma che tiene il blocco in modo sicuro, in quanto si potrebbe causare la corruzione o interrompere un'installazione (male). Il comando fornito da João dovrebbe chiudere il programma che tiene il blocco e poi rimuovere il blocco, ma non vi proteggerà dall'interruzione dell'installazione:
sudo fuser -cuk /var/lib/dpkg/lock; sudo rm -f /var/lib/dpkg/lock
E lo stesso comando può essere usato per il blocco della cache di apt:
sudo fuser -cuk /var/cache/apt/archives/lock; sudo rm -f /var/cache/apt/archives/lock
Il modo più probabile per colpire questo è:
sudo apt-get install whatever
.e la linea di comando apt
si sovrappone al polling automatico di update-manager
.
*Quindi, se provate di nuovo tra qualche minuto, questo dovrebbe risolvere il problema.
Solo un programma può tenere il blocco. Assicuratevi che non stiate eseguendo aptitude, synaptic o adept. Chiudete il programma ed eseguitelo di nuovo, dovrebbe funzionare. Potreste avere synaptic aperto, o avere un'altra finestra di terminale aperta che esegue apt-get, o avere il gestore degli aggiornamenti in esecuzione, controllate e vedete se uno di questi è in esecuzione, se uno di questi è in esecuzione chiudetelo e riprovate.
Provate questo comando nel terminale per trovare ciò che è in esecuzione
ps -e | grep -e apt -e adept | grep -v grep
Nota: Se questo non stampa nulla, digitate il seguente comando nel terminale per rimuovere il blocco
sudo rm /var/lib/dpkg/lock
sudo rm /var/cache/apt/archives/lock
Ora potete installare qualsiasi pacchetto.