Come prevenire e correggere errori di dipendenza dal pacchetto in Ubuntu

Come prevenire e correggere errori di dipendenza dal pacchetto in Ubuntu
Gli errori di dipendenza del pacchetto possono verificarsi in Ubuntu dopo aver installato alcune app. Le decisioni prese dagli utenti durante l'installazione o i problemi a livello di sistema fuori controllo degli utenti possono portare a pacchetti rotti.

Se vedi parole come "dipendenze insoddisfatte", "pacchetti rotti", "i pacchetti sono stati mantenuti indietro" in output del terminale, è probabile che potresti avere conflitti di dipendenza. Questo articolo elencherà alcuni metodi che possono essere utilizzati per prevenire e correggere questo tipo di errori di dipendenza. Si noti che i metodi suggeriti di seguito non sono in nessun ordine.

Aggiorna i pacchetti

La prima cosa da fare in caso di errori è eseguire il comando di aggiornamento. Aggiornerà qualsiasi repository ufficiale e di terze parti che hai aggiunto al tuo sistema e tirerà un nuovo elenco di pacchetti. L'esecuzione del comando di aggiornamento dal terminal bypass viene lanciato a fasi dei pacchetti ufficiali Ubuntu tramite la GUI Updater, quindi ottieni sempre l'ultimo elenco di pacchetti.

È possibile aggiornare i repository eseguendo il seguente comando:

$ sudo apt update

Modifica il server di download del pacchetto

Se si ottiene errori "Impossibile individuare il pacchetto" quando si esegue il comando di aggiornamento sopra, prova a modificare i specchi di download. I pacchetti Ubuntu sono serviti agli utenti finali di server situati in tutto il mondo. A volte sono disponibili solo aggiornamenti di pacchetto parziali o rotti da questi server con conseguenti errori durante l'aggiornamento. Questo problema viene generalmente risolto automaticamente dopo un po 'quando tutti i pacchetti Ubuntu sono correttamente clonati in questi specchi. Tuttavia, è possibile modificare manualmente la posizione dello specchio per risolvere questo problema.

Per modificare il server di download, avvia l'app "Software & Aggiorna" dall'appuntamento dell'app. Nella scheda "Ubuntu software", la selezione del "server principale" nell'elenco a discesa "Download from" è quasi garantita per risolvere eventuali problemi di disponibilità del pacchetto. Tuttavia, la velocità di download può essere bassa a seconda della posizione e della vicinanza ai server. Ubuntu per impostazione predefinita seleziona un server che ti darà la massima velocità in base alla posizione corrente. È possibile prevalerlo scegliendo qualsiasi server elencato o facendo clic su "Seleziona il miglior server" per lasciare la scelta su Ubuntu.

Pacchetti di aggiornamento

L'aggiornamento dei pacchetti installati può correggere errori di dipendenza. Ci sono due comandi disponibili per aggiornare i pacchetti Ubuntu, entrambi comportamenti diversi:

  • "Aggiornamento": aggiornamenti pacchetti installati Se sono disponibili aggiornamenti, non rimuove alcun pacchetto anche se sono invariate e rotte dipendenze
  • "Dist-upgrade": fa tentativi di aggiornare in modo intelligente i pacchetti e risolvere le dipendenze, rimuove rotto e installa nuove dipendenze ove necessario per correggere gli errori

I comandi per aggiornare e dist-upgrade rispettivamente sono:

$ sudo apt update
$ sudo apt dist-upgrade

Pulisci pacchetti memorizzati nella cache e residui

Il gestore dei pacchetti di Ubuntu "Apt" mantiene i pacchetti scaricati in una cartella cache. La prossima volta che è necessario reinstallare un pacchetto che è già stato memorizzato nella cache, Ubuntu otterrà il pacchetto DEB dalla cartella della cache invece di scaricarlo nuovamente dal server. Cancella questa cache cancella lo spazio del disco e aiuta anche a correggere gli errori di dipendenza e installazione in alcuni casi.

La cache del pacchetto di Apt può essere cancellata eseguendo il comando di seguito:

$ sudo apt pulito

C'è un altro comando APT "Autoclean" che cancella la cache del pacchetto. Tuttavia, invece di cancellare l'intera cartella, rimuove solo i pacchetti che sono stati rimossi dai server repository.

$ sudo apt autoclean

Fai un'installazione finta

È possibile simulare l'installazione di un pacchetto per verificare eventuali errori potenziali durante l'installazione reale. Esegui il comando in basso mentre si sostituisce "Nome pacchetto" con il nome del pacchetto desiderato (senza quotazioni) per eseguire un'installazione finta.

$ sudo apt install-dry-run "nome pacchetto"

Una finta rimozione può essere eseguita allo stesso modo:

$ sudo apt rimozione-dry-run "nome pacchetto"

Correggi i pacchetti rotti

È possibile avere pacchetti rotti e dipendenze insoddisfatte, specialmente quando si installano più pacchetti contemporaneamente. Il comando seguente farà un tentativo di risolvere questi problemi installando e riparando le dipendenze rotte o rimuovendo un pacchetto del tutto responsabile del conflitto di dipendenza.

$ sudo apt -f installa

Configurare i pacchetti non sono stati installati a causa di interruzioni

A volte il gestore dei pacchetti APT smette di lasciare bruscamente i pacchetti che non sono riusciti a configurare. Queste interruzioni sono generalmente a causa di fattori fuori controllo del gestore dei pacchetti APT. Ad esempio, se hai chiuso accidentalmente il terminale o il tuo PC si spegne improvvisamente, APT non sarà in grado di finire la configurazione. L'esecuzione del comando seguente risolverà gli errori del pacchetto e i problemi di dipendenza derivanti da questo problema.

$ sudo dpkg -configure -a

Usa PPA-Purge

Un "archivio di pacchetti personali" o un PPA è un repository di software che consente agli utenti di Ubuntu di aggiornare o installare nuovi pacchetti da fonti non ufficiali. PPA-Purge è uno strumento che rimuove queste fonti PPA di terze parti e declassano i pacchetti installati dai PPA alle versioni di serie. L'uso di PPA-Purge risolverà eventuali conflitti di dipendenza derivanti dai pacchetti installati o aggiornati dal PPA. Per installare l'app per riga di comando PPA-Purge in Ubuntu, eseguire il seguente comando:

$ sudo apt install ppa-purge

Per eliminare un PPA, eseguire il comando nel seguente formato:

$ sudo PPA-Purge "PPA: indirizzo"

Ad esempio, l'Editor di testo Geany PPA aggiunto da qui può essere eliminato eseguendo il comando:

$ sudo PPA-Purge PPA: Geany-Dev/PPA

Usa il gestore dei pacchetti attitudini

Il gestore dei pacchetti attitude può essere utilizzato al posto del gestore pacchetti APT predefinito in Ubuntu per risolvere gli errori di dipendenza. L'attitudine è più recente di Apt Package Manager e fornisce opzioni extra, un frontend basato sul terminale e una facilità d'uso generale. L'attitudine combina molte opzioni APT in un singolo comando in modo da non dover eseguire più comandi per correggere gli errori.

Ad esempio, l'utilizzo del gestore pacchetti attitudini per rimuovere anche un singolo pacchetto ti farà un'opzione per rimuovere i pacchetti inutilizzati e rimanenti, mentre c'è un comando separato in APT per fare lo stesso. L'attitudine è molto più intelligente nella risoluzione dei conflitti della dipendenza rispetto ad APT, di solito fornisce un feedback dettagliato per risolvere i conflitti, con più opzioni che possono essere selezionate dall'utente. Mi assicuro sempre che l'attitudine e la punta PPA siano installati sul mio sistema prima di ottenere pacchetti altamente sperimentali.

L'attitudine può essere installata eseguendo il comando di seguito:

$ sudo APT Installa attitudità

Attitudini e apt condividono molte opzioni di riga di comando con attitudine con alcune differenze. Puoi esplorare tutte le opzioni di attitudine da qui.

Reinstalla il pacchetto desktop Ubuntu

La reinstallazione del pacchetto "Ubuntu-Desktop" attirerà pacchetti essenziali installati per impostazione predefinita in Ubuntu. Riceverà tutti i pacchetti che dipendono dal pacchetto Ubuntu-Desktop Meta. Per reinstallare Ubuntu-Desktop, eseguire il comando di seguito:

$ sudo apt install --reinstall ubuntu-desktop

Si noti che il comando sopra installerà solo pacchetti core essenziali e non app come Firefox, Thunderbird, Video Player ecc.

Rimuovere o disabilitare i PPA prima di aggiornare a una versione più recente di Ubuntu

Anche se Ubuntu disabilita qualsiasi PPA prima di eseguire un aggiornamento del sistema, per evitare errori di dipendenza insoddisfatti durante e dopo un aggiornamento del sistema, è necessario rimuovere manualmente qualsiasi PPA di terze parti. Il modo migliore per farlo è eseguire il comando PPA-Purge spiegato sopra.

Puoi anche rimuovere solo i repository PPA. Ciò non potrebbe tuttavia impedire errori di dipendenza durante l'aggiornamento. I PPA possono essere rimossi in due modi, il primo prevede l'utilizzo della riga di comando e il secondo richiede l'uso di un'app GUI. Si noti che questi metodi rimuoveranno solo i repository di PPA, lasciando alle spalle eventuali pacchetti precedentemente aggiornati o installati nel sistema.

Per rimuovere un PPA usando la riga di comando, eseguire il comando sotto nel seguente formato:

$ sudo add-apt-repository-Rimuovi "PPA: Nome"

Ad esempio, l'Editor di testo Geany PPA aggiunto da qui può essere rimosso eseguendo il comando:

$ sudo add-apt-repository-REMOVE PPA: Geany-Dev/PPA

Per rimuovere un PPA utilizzando il metodo GUI, di solito è necessario avviare l'app "Software e aggiornamenti" dall'App Launcher. Tuttavia, a causa di un bug in Ubuntu, questo metodo non funziona sempre e non riesce a disabilitare i PPA.

Per aggirare questo, dobbiamo installare Synaptic Package Manager che è un frontend per APT. Per installare Synaptic, eseguire il comando:

$ sudo APT Installa sinaptico

Avvia "Synaptic Package Manager" da App Launcher. Fai clic su "Impostazioni"> "Repository". Vai alla scheda "Altro software" e fai clic su un PPA che si desidera rimuovere per evidenziarlo. Fare clic sul pulsante "Rimuovi" in basso per rimuovere il PPA dal sistema. Puoi anche disabilitare un PPA senza rimuoverlo in modo che possa essere riabilitato dopo l'aggiornamento del sistema. Per farlo, deseleziona la casella di controllo davanti a un PPA. Una volta seguiti i passaggi sopra, chiudi la finestra "Software e aggiornamenti". Quando viene richiesto di aggiornare i repository, fare clic sul pulsante "Ricarica".

Sii cauto quando aggiungi nuovi PPA al sistema

La maggior parte delle volte si verificano errori di dipendenza quando si utilizzano PPA di terze parti o si installano pacchetti DEB da fonti non ufficiali. C'è anche la possibilità che il malware entri nel tuo sistema tramite un PPA. Pertanto dovresti sempre stare attento quando aggiungi qualsiasi PPA casuale al tuo sistema. Aggiungi un PPA solo se ti fidi della sua fonte e dei manutentori / sviluppatori. Anche se finora non abbiamo sentito parlare di malware o adware distribuiti tramite PPA.

Conclusione

Questi sono alcuni metodi che possono essere utilizzati per correggere e prevenire errori di dipendenza in Ubuntu. Le cose tendono a rompersi, soprattutto quando usi Ubuntu come ambiente di sviluppo principale con tonnellate di app di terze parti e strumenti di riga di comando. Tuttavia, la maggior parte di questi errori di dipendenza può essere ridotta al minimo installando app da fonti ufficiali, famose e affidabili.