Vi è mai capitato che quando digitate il vostro bel comando “apt-get …” la shell vi risponda “picche” dandovi questo messaggio:
E: Impossibile ottenere il lock /var/lib/dpkg/lock - open (11 Risorsa temporaneamente non disponibile)
E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?
Se si, ora vi do il metodo per risolvere questo problema. D’altronde è proprio questo che state cercando
digitate:
ps aux|grep "/var/lib/dpkg/"
e dovreste ottenere qualcosa simile all’output mostrato qui sotto:
root 11392 0.0 0.4 11864 8988 pts/1 S+ 10:05 0:00 /usr/bin/perl -w /usr/share/debconf/frontend /var/lib/dpkg/info/localepurge.postinst configure
root 11398 0.0 0.0 1772 564 pts/1 S+ 10:05 0:00 /bin/sh -e /var/lib/dpkg/info/localepurge.config configure
1000 11832 0.0 0.0 3012 784 pts/2 S+ 10:10 0:00 grep /var/lib/dpkg/
come potete vedere ci sono 3 processi che corrispondono, perchè utilizzano la directory citata da aptitude. Escludiamo l’ultimo perchè è la grep che abbiamo appena eseguito. Prendiamo l’id del processo (11392 e 11398) e li killiamo (aggiungo il sudo perchè il lock è stato fatto dall’utente root e quindi anche i processi, come si può vedere sopra, “appartengono” a root):
sudo kill -9 11392
sudo kill -9 11398
quindi ora ricontrolliamo che non ci siano più i processi in background:
ps aux|grep "/var/lib/dpkg/"
e difatti l’unico in esecuzione è solo la grep:
1000 11843 0.0 0.0 3008 772 pts/2 S+ 10:12 0:00 grep /var/lib/dpkg/
fatto ciò rilanciamo il nostro comando “apt-get …”:
sudo apt-get install ...
e tutto filerà liscio
Lettura della lista dei pacchetti in corso... Fatto
Generazione dell'albero delle dipendenze in corso
Lettura delle informazioni di stato... Fatto
[...]