Ubuntu e Debian usano entrambi pacchetti per aggiungere capacità al sistema, permettendo agli utenti di fare di più con le loro macchine. Tuttavia, per quanto grande sia questo sistema di pacchetti, le cose possono ancora rompersi. Che si tratti di una cattiva installazione, una cattiva configurazione, o se qualcosa esternamente ha modificato i file dopo l’installazione, i pacchetti possono a volte andare male e non funzionare più, rendendoli “rotti”. Questo può anche influenzare apt-get, il gestore di pacchetti integrato, che può portare all’impossibilità di installare ulteriori pacchetti, aggiornarli o addirittura rimuoverli del tutto.
In questo tutorial, vedremo diversi metodi per riparare i pacchetti rotti sia su Ubuntu 16.04 che su Debian 9. Poiché questo problema può verificarsi per diversi motivi, esistono diverse soluzioni, alcune delle quali possono funzionare o meno sulla vostra macchina. Perciò è meglio vedere quale specifico pacchetto si è rotto e perché, il che vi aiuterà a decidere quale metodo seguire per primo.
Tabella dei contenuti
Metodo 1: Usare apt-get
Il più delle volte, un pacchetto rotto dopo essere stato installato può essere relativamente facile da risolvere, grazie ad uno strumento integrato in apt-get. L’esecuzione dei seguenti comandi cercherà di sistemare qualsiasi pacchetto rotto attualmente installato sul vostro sistema:
sudo apt-get update --fix-missing
sudo apt-get install -f
(l’opzione -f è l’abbreviazione di fix-broken.)
Prova a vedere se il primo comando risolve il tuo problema prima di eseguire il secondo comando. Dagli qualche momento per provare a correggere qualsiasi errore che possa trovare. Se funziona, allora provate ad usare il pacchetto che era rotto – probabilmente ora sarà risolto. Nel caso in cui non sia ancora risolto, procedete alla prossima soluzione qui sotto.
Metodo 2: Usare dpkg e apt-get
Questa soluzione vi aiuterà se un pacchetto software si è rotto mentre veniva installato. Potete provare a usare il metodo precedente prima di continuare, perché potrebbe essere d’aiuto. Per prima cosa, puliamo apt-get e proviamo a usare dpkg per configurare qualsiasi pacchetto che ne abbia bisogno:
sudo dpkg --configure -asudo apt-get cleansudo apt-get update
Dopo questo, vediamo se il pacchetto è stato risolto. Se non lo è, potrebbe essere necessario cancellare i file di blocco. I file di blocco sono usati per mantenere le risorse disponibili per certi programmi – aiuta a prevenire che altri programmi accedano ai file nello stesso momento. Questo può essere fatto semplicemente cancellando la lista dei file di blocco:
sudo rm /var/lib/apt/lists/lock
Dopo questo, prova ad eseguire ancora una volta i comandi di cui sopra. Da lì, prova a reinstallare il pacchetto per vedere se ora può essere installato con successo.
Metodo 3: Usare dpkg per la rimozione forzata
A volte, in rare occasioni, i comandi di cui sopra non funzioneranno, e un pacchetto rotto non sarà riparabile. In questo caso, sarà necessario rimuovere il pacchetto manualmente e con forza. Questo metodo richiede che tu sappia già quale pacchetto è rotto.
Puoi prima provare a rimuovere il pacchetto problematico normalmente attraverso apt-get inserendo il seguente comando:
sudo apt-get remove
Probabilmente non avrà successo, ma vale la pena provare prima di rimuoverlo con forza.
In base agli errori che si ottengono quando si cerca di rimuovere il pacchetto normalmente, si potrebbe essere in grado di identificare il pacchetto rotto usando dpkg e grep:
dpkg -l | grep ^..r
Questo comando elenca tutti i pacchetti, poi grep elenca tutti i risultati che contengono il flag ‘r’ nel terzo campo, che significa “reinst-required” (reinstallazione richiesta). Se il pacchetto rotto appare, sarete in grado di rimuoverlo.
Eseguite il seguente comando per rimuovere con forza il pacchetto dalla vostra macchina. Non dimenticare di inserire la tua password per autorizzare l’eliminazione. Sostituisci con il nome del pacchetto rotto.
sudo dpkg --remove --force-remove-reinstreq
Una volta fatto questo, pulisci e aggiorna apt-get:
sudo apt-get cleansudo apt-get update
Dopo questo, prova a installare il pacchetto da zero. Ora dovrebbe installarsi normalmente.
Altre soluzioni
Questi metodi sono i modi migliori per riparare o rimuovere un pacchetto rotto dal tuo sistema – ma, a volte non saranno sufficienti. In rari casi, il sistema non vedrà affatto il pacchetto rotto, ma impedirà comunque ad apt-get di funzionare normalmente. In questi casi, andare manualmente a cancellare i file è di solito la soluzione migliore. Tuttavia, il processo di eliminazione di questi file varia da pacchetto a pacchetto e può essere rischioso. Pertanto, provate queste soluzioni prima di tentare di eliminare i file dal vostro sistema.
Spero che seguendo questi metodi avrete risolto o rimosso con successo qualsiasi pacchetto rotto trovato sul vostro sistema. Naturalmente, non è necessario riparare i pacchetti rotti da soli se si utilizza uno dei nostri servizi Managed Linux VPS, nel qual caso si può semplicemente chiedere ai nostri esperti amministratori Linux di farlo per voi. Sono disponibili 24 ore su 24, 7 giorni su 7, e ti aiuteranno a sistemare i pacchetti rotti immediatamente.