Motivi e soluzioni per l’errore “Impossibile bloccare (/ var / lib / dpkg /)” in Ubuntu

Gründe und Lösungen für den Fehler "Sperre nicht möglich (/ var / lib / dpkg /)" in Ubuntu
⏱️ 5 min read

Molte volte, durante l’installazione / l’aggiornamento di un pacchetto dalla riga di comando (utilizzando apt-get o apt) in Ubuntu, otteniamo questo errore: E: impossibile bloccare la directory di amministrazione (/ var / lib / dpkg /). Dal punto di vista di un principiante, è un errore complesso, poiché i nuovi utenti per lo più non sono a conoscenza della directory “/ var / lib / dpkg /” e di cosa ha a che fare con l’operazione corrente che stanno eseguendo.

Tecnicamente, l’errore viene lanciato dal sistema in più scenari e uno dovrebbe davvero occuparsi di come risolve questo problema. In questo articolo discuteremo tutti questi aspetti relativi a questo errore e come puoi eliminarlo in sicurezza.

Impossibile bloccare (/ var / lib / dpkg /) – diagnosi del problema

Ogni volta che si verifica questo errore, il primo passaggio dovrebbe essere leggere attentamente la descrizione dell’errore. Di solito contiene alcuni suggerimenti cruciali e che fanno risparmiare tempo. Ad esempio, le seguenti schermate mostrano il comando “apt-get install” che genera errori simili.

admin-dir-error-lock

Tuttavia, se guardi più da vicino, noterai che il testo tra parentesi nella prima riga e il testo dopo la virgola nella seconda riga sono diversi in entrambi gli scenari, rendendo chiaro che l’errore nel primo scenario ha qualcosa da fare con i permessi dell’utente, mentre nel secondo scenario è correlato al file di blocco temporaneamente non disponibile.

Se stai riscontrando un errore relativo all’autorizzazione (come mostrato nella prima immagine sopra), è molto probabile che l’utente che esegue il comando “apt-get” o “apt” non abbia privilegi sufficienti e il comando è stato eseguito senza sudo. Una volta che il comando viene eseguito con i privilegi di root, l’errore scomparirà.

Tuttavia, se si tratta di un errore relativo al blocco, sono necessarie ulteriori indagini.

Cos’è / var / lib / dpkg /?

“/ Var / lib / dpkg /” può essere pensato come la directory di lavoro per il gestore di pacchetti “dpkg”, che a sua volta è in realtà il motore dietro “apt-get” (così come gli strumenti “apt” e “aptitude”) . Ogni volta che si utilizzano questi strumenti per installare o rimuovere software, bloccano il database dei pacchetti (creando un file “lock”) prima di eseguire l’operazione effettiva, cosa che in realtà viene eseguita ottenendo il blocco per “/ var / lib / dpkg / “Directory. Questo passaggio consente di evitare il danneggiamento dei dati o l’interruzione di un’operazione in corso eseguita da un altro processo.

Supponendo che tu abbia compreso il concetto sopra spiegato, esaminiamo ora i passaggi dell’indagine.

Passaggio 1: verifica se è presente un altro processo che blocca il blocco

Ora dovrebbe sembrare abbastanza logico, giusto? E per fare questo, puoi usare l’aiuto del buon vecchio ps comando e reindirizza il suo output al file grep comando in modo da dedicare meno tempo alla ricerca di ciò che desideri. Ad esempio, ecco un comando che ti consente di trovare se un processo “apt”, “apt-get” o “aptitude” è già in esecuzione:

Passaggio 2: attendere un po ‘e quindi agire

Se effettivamente c’è un comando che ha già acquisito il blocco, dovresti idealmente attendere che venga completato e rilasciare il blocco. Tuttavia, se il comando impiega più tempo del previsto e sei sicuro che sia bloccato da qualche parte, puoi andare avanti e ucciderlo usando il disponibile kill o killall comandi (maggiori informazioni su di essi qui). Questo dovrebbe risolvere il problema che stai affrontando.

Una cosa degna di nota è che non è mai consigliabile uccidere direttamente un processo “dpkg”: potrebbe danneggiare il database dei pacchetti. Sto sottolineando questo punto perché ora sai che strumenti come “apt” e “apt-get” invocano “dpkg” internamente, quindi è del tutto possibile che tu possa pensare di uccidere il processo “dpkg” se lo noti in “ps “Output del comando.

Eliminare i processi avviati eseguendo i comandi apt, apt-get o aptitude generalmente molto più sicuri.

Passaggio 3: quando l’output del comando “ps” non aiuta

Tieni presente che oltre agli strumenti da riga di comando come apt e apt-get, anche alcune applicazioni basate su GUI come Software Center o Update Manager acquisiscono questo blocco.

Nota: se ricevi l’errore relativo al blocco subito dopo aver avviato Ubuntu, è del tutto possibile che la tua operazione si sovrapponga al polling automatico avviato dal gestore degli aggiornamenti. Aspettare un po ‘dovrebbe risolvere il problema in questo caso.

Tornando alle applicazioni basate su GUI di cui parlavamo, un’altra opzione utile e che fa risparmiare tempo è quella di utilizzare il fuser comando.

Con “fuser” è sufficiente conoscere il file a cui si accede (“/ var / lib / dpkg / lock” nel nostro caso) e si può terminare il processo accedendo a quel file anche se non si sa quale sia il processo. Per esempio:

Tieni presente che il file fuser comando non rilascerà il blocco acquisito dal processo che hai appena ucciso, quindi dovrai farlo manualmente:

Nota: per “rilasciare il blocco“Significa semplicemente eliminare il file” lock “in modo che altri processi possano”acquisire la serratura“Ricreandolo.

Potrebbe anche essere necessario eseguire i seguenti due comandi:

Suggerimento importante: non eliminare mai i file di blocco come primo passaggio: questa dovrebbe essere solo l’ultima risorsa.

Conclusione

In generale, è sempre bene capire il motivo del problema prima di andare avanti e risolverlo. Cercare ciecamente soluzioni per risolvere un problema non ti aiuterà mai: potresti riuscire in alcuni casi, ma il più delle volte ti ritroverai in un casino ancora più grande, specialmente se il sistema operativo è Linux.

Hai mai affrontato l’errore di cui abbiamo discusso qui? Come l’hai risolto? Lascia la tua risposta nei commenti.

Join our Newsletter and receive offers and updates! ✅

0 0 votes
Article Rating
Avatar di Routech

Routech

Routech is a website that provides technology news, reviews and tips. It covers a wide range of topics including smartphones, laptops, tablets, gaming, gadgets, software, internet and more. The website is updated daily with new articles and videos, and also has a forum where users can discuss technology-related topics.

Potrebbero interessarti anche...

Subscribe
Notificami
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x