Il gestore di pacchetti apt è sicuramente uno dei più popolari se non proprio il più popolare. Questo è dovuto principalmente al fatto che è il gestore predefinito di alcune fra le distribuzioni più popolari e diffuse come Ubuntu, Debian, Linux Mint.
La grande comodità, ricchezza di pacchetti, e semplicità di utilizzo hanno sicuramente contribuito alla sua diffusione. Non è però esente da difetti e problemi che a volte possono manifestarsi e metterci in difficoltà. Uno di questi è proprio quello che vedremo, ovvero gli errori del tipo:
E: Impossibile impostare il blocco /var/lib/dpkg/lock-frontend – open (11: Risorsa temporaneamente non disponibile)
E: Impossibile acquisire il blocco sul frontend dpkg (/var/lib/dpkg/lock-frontend). Un altro processo potrebbe tenerlo occupato.
oppure
E: Impossibile impostare il blocco /var/lib/apt/lists/lock - open (11: Risorsa temporaneamente non disponibile)
E: Impossibile bloccare la directory /var/lib/apt/lists/
Se siete incappati in uno di questi errori utilizzando apt-get e non sapete le mani non abbiate paura, è successo recentemente anche a noi e vogliamo condividere con voi la soluzione.
Seguiteci e vedremo insieme di che errore si tratta e come risolvere.
Indice
- Cos’è apt?
- Quando si verificano gli errori Impossibile impostare il blocco e Impossibile acquisire il blocco sul frontend dpkg di apt?
- Come risolvere l’errore “Impossibile impostare il blocco” di apt
- Rimuovere il blocco di apt
Cos’è apt?
Per prima cosa capiamo cos’è apt.
APT (Advanced Package Tool) è un sistema di gestione dei pacchetti, utilizzato come gestore predefinito in molte distribuzioni come debian e le sue derivate ubuntu e mint.
Prima dell’avvento dei pacchetti e dei sistemi di gestione dei pacchetti come apt, ogni utente doveva compilare e installare ogni programma che desiderava utilizzare sul proprio sistema linux. Con la nascita di Debian si iniziò a pensare che era necessario semplificare questa procedura. Con debian quindi nacquero i pacchetti, e poi da questi nacquero i gestori si pacchetti come apt, che oltre a fornire la possibilità di scaricare e installare i pacchetti velocemente, si occupano anche di risolvere e installare le eventuali dipendenze necessarie.
APT è quindi in pratica l’antenato degli store android ed apple che oggi abbiamo tutti sul nostro smartphone.
Quando si verificano gli errori Impossibile impostare il blocco e Impossibile acquisire il blocco sul frontend dpkg di apt?
Il sistema apt è un sistema molto potente, ma affinché tutto funzioni bene sono necessarie alcune limitazioni.
La limitazione con cui ci si scontra più frequentemente è il fatto che apt non può essere lanciato più di una volta contemporaneamente. Quando lanciamo apt infatti, viene scritto quello che viene chiamato lock, ovvero un blocco che non permette ad altre istanze di apt di eseguire operazioni finché l’istanza attuale non ha finito di operare.
L’errore che stiamo cercando di risolvere è proprio questo, proviamo a rileggerlo:
E: Impossibile impostare il blocco /var/lib/dpkg/lock-frontend – open (11: Risorsa temporaneamente non disponibile)
E: Impossibile acquisire il blocco sul frontend dpkg (/var/lib/dpkg/lock-frontend). Un altro processo potrebbe tenerlo occupato.
oppure
E: Impossibile impostare il blocco /var/lib/apt/lists/lock - open (11: Risorsa temporaneamente non disponibile)
E: Impossibile bloccare la directory /var/lib/apt/lists/
APT ci sta comunicando che non riesce a impostare il blocco, ovvero il lock, perché la risorsa non è disponibile, un altro processo potrebbe aver già impostato il blocco.
Il gestore APT può essere utilizzato dall’utente per installare pacchetti sia tramite il terminale che tramite un’interfaccia grafica come ad esempio Synaptic.
Come risolvere l’errore “Impossibile impostare il blocco” di apt
Come abbiamo visto nel paragrafo precedente, l’errore è dato dal fatto che apt non può fare più di un’operazione alla volta e quindi, quando sta operando, scrive un blocco che impedisce ad altre istanze di apt di effettuare altre operazioni.
Possiamo pensare a questa situazione come allo studio di un dottore: Se la porta è chiusa il dottore è occupato e non possiamo entrare. Se la porta è aperta possiamo entrare e chiudere la porta alle nostre spalle impedendo quindi l’entrata ad altri pazienti (il medico può visitare solamente una persona per volta).
Ci sono due motivi per cui possiamo incappare nell’errore “Impossibile impostare il blocco”.
- Il sistema apt è già in uso in una finestra differente del terminale o tramite un programma a interfaccia grafica.
- Apt non è terminato nel modo corretto l’ultima volta che è stato eseguito e quindi non è riuscito a rilasciare il blocco.
Nel primo caso, sta accadendo proprio ciò per cui questo sistema è stato implementato: Impedire che apt venga eseguito due volte contemporaneamente. In questa situazione la soluzione è quella di trovare quale sia il terminale/interfaccia che sta utilizzando il blocco di apt e attendere che termini o interromperlo. Bisogna ricordare che alcune versioni recenti di Ubuntu hanno sistemi di aggiornamento automatico e di controllo automatico degli aggiornamenti. Potrebbe quindi essere uno di questi sistemi ad aver imposto il lock di apt a nostra insaputa e senza che noi ce ne accorgiamo. Se avete il sospetto che possa essere questa la causa la soluzione migliore è quella di attendere qualche minuto che il processo automatico termini di fare il suo lavoro.
Nel secondo caso è possibile che sappiate cosa è successo, potrebbe esserci stato un blackout di corrente durante un aggiornamento o un’installazione, oppure un errore improvviso del sistema apt. In entrambi i casi non dovrebbe essere un altro programma a bloccare apt e quindi non sarà dannoso rimuovere il lock manualmente.
Tornando al nostro esempio della stanza queste due situazioni possono essere trasposte in questo modo:
Nel primo caso è come se arrivassimo davanti alla porta e la trovassimo chiusa, magari non abbiamo visto entrare la persona davanti a noi, ma qualcuno è dentro e dobbiamo attendere che finisca ed esca lasciandoci la porta aperta.
Nel secondo caso è come se arrivassimo sempre davanti alla porta trovandola chiusa, ma questa volta c’è stato un problema che ha impedito al paziente precedente di uscire dalla porta e lasciarla aperta. Potrebbe essere uscito in maniera errata da una porta di servizio, o magari dalla finestra. In questo caso quindi la stanza all’interno sarà vuota e il dottore non starà visitando, ma la porta chiusa continua a bloccare l’entrata di nuovi pazienti. Serve quindi qualcuno che decida di aprire la porta e sbloccare la situazione.
Rimuovere il blocco di apt
Se il vostro apt si è interrotto inaspettatamente e non è riuscito a rilasciare il blocco prima di morire, allora potete procedere a rimuovere il lock manualmente.
- Apriamo un terminale (In ubuntu possiamo farlo tramite la combinazione <Ctrl> + <Alt> + t)
- Digitiamo il comando:
sudo fuser -vki /var/lib/dpkg/lock
- Confermiamo nel caso ci venga richiesto di terminare processi
- Sistemiamo eventuali pacchetti rimasti non configurati nella sessione precedente tramite il comando:
sudo dpkg –configure -a
A questo punto dovremmo aver rimosso il lock e ripristinato il corretto funzionamento di apt!
Se avete ulteriori dubbi lasciate un commento!