GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Correzione dell'errore "I pacchetti di destinazione sono configurati più volte" nelle distribuzioni Linux basate su Ubuntu e Debian

Di recente, durante l'aggiornamento di Ubuntu tramite riga di comando, ho riscontrato un avviso che si lamentava della configurazione del pacchetto di destinazione più volte.

Il messaggio esatto dopo l'esecuzione del comando sudo apt update era simile al seguente:

Recuperato 324 kB in 6 s (50,6 kB/s)
Lettura degli elenchi dei pacchetti... Fatto
Costruzione dell'albero delle dipendenze... Fatto
Lettura delle informazioni sullo stato... Fatto
17 pacchetti possono essere aggiornati. Esegui "elenco apt -aggiornabile" per vederli.
W:I pacchetti di destinazione (main/binary-amd64/Packages) sono configurati più volte in /etc/apt/sources.list.d/microsoft-edge-dev.list:3 e /etc/apt/sources.list.d/ microsoft-edge.list:3

Dal momento che so alcune cose su come il gestore di pacchetti apt, posso già vedere il problema.

Ecco la cosa. Un repository è stato aggiunto due volte all'elenco delle fonti. Ciò potrebbe accadere nello stesso file o in file separati.

La soluzione consiste nel leggere correttamente il messaggio di errore (in realtà è un avviso) e modificare il file per rimuovere (o commentare) le righe duplicate. Puoi vedere che menziona entrambi il nome del file e il numero di riga.

Quindi, qui nel mio caso, ho rimosso la terza riga di uno dei file e ha smesso di mostrare l'avviso per me. Per riassumere, ecco cosa devi fare:

  • Leggi il messaggio di errore e scopri quale numero di riga di quali file hanno la stessa voce.
  • Utilizza un editor di testo basato su terminale come Nano per modificare uno dei file e rimuovere o commentare la riga duplicata.
  • La soluzione potrebbe richiedere che tu abbia familiarità (e dimestichezza) con i comandi di base di Linux.

Ma questa è una spiegazione troppo breve se non hai familiarità con la gestione dei pacchetti in Ubuntu e Debian.

Capire e risolvere il problema del pacchetto configurato più volte

È importante capire il problema per risolverlo. È perché non esiste un unico comando per farlo andare via. La soluzione richiede un piccolo sforzo da parte tua e vedrai che l'esatto comando/processo può variare per persone diverse.

Cosa causa questo problema?

Se leggi il messaggio di avviso, puoi almeno indovinare che qualcosa è configurato più di una volta.

La gestione dei pacchetti APT funziona su sources.list. È solo un file di testo che contiene le informazioni sui repository da cui è possibile scaricare determinati pacchetti.

C'è un file principale /etc/apt/sources.list che contiene i dettagli dei repository ufficiali forniti da Ubuntu. Quindi, c'è la directory /etc/apt/sources.list.d che contiene file per repository esterni aggiuntivi.

La norma è che non si tocca il file principale /etc/apt/sources.list. Aggiungi un nuovo file in /etc/apt/sources.list.d per tutti i repository aggiuntivi che aggiungi.

Il problema sorge quando si tenta di installare del software leggendo vari tutorial da Internet. Provi ad aggiungere un repository esterno, non funziona a tuo piacimento. Provi ad aggiungere qualche altro repository da qualche altro tutorial e finisci con voci duplicate senza nemmeno rendertene conto.

Per essere chiari, questo non è un errore. Se hai voci duplicate nell'elenco delle fonti, il tuo sistema scaricherà comunque i pacchetti da esso. Non impedisce al tuo sistema di funzionare come al solito. Ecco perché è un messaggio di avviso, non un errore . È solo che si aspetta che un repository venga aggiunto solo una volta.

Correzione delle voci del repository duplicate

Per risolvere il problema, devi rimuovere tutte le voci duplicate e lasciarne solo una nel sistema.

È più facile a dirsi che a farsi, specialmente per i principianti. Consentitemi di condividere alcuni suggerimenti e suggerimenti al riguardo.

Metodo 1:per utenti desktop Ubuntu

C'è un'applicazione chiamata Software e aggiornamenti in Ubuntu. Avvia questa applicazione.

Vai a Altri software scheda e vedere i repository aggiuntivi aggiunti al tuo sistema. Quelli selezionati sono attivi.

Puoi esaminare tutti quelli selezionati e vedere se riesci a individuare voci duplicate. Se sì, selezionane uno e premi il pulsante Rimuovi.

È possibile eseguire nuovamente il comando di aggiornamento per vedere se il problema è stato risolto. So che non è molto conveniente, ma se vuoi la comodità di uno strumento GUI, questo è quello che devi fare.

Se non riesci a individuare le voci duplicate, devi essere un investigatore e indagare dal messaggio di errore come spiegato nelle sezioni successive.

Metodo 2:rimuovere le voci duplicate utilizzando la riga di comando (se l'errore duplicato non è nel file /etc/apt/sources.list)

Si noti la differenza tra /etc/apt sources.list (file di sorgenti principali del sistema) e /etc/apt/sources.list.d (cartella in cui conservare i file per repository aggiuntivi).

Se l'errore si lamenta di voci ripetute nei file nella cartella /etc/apt/sources.list.d , usa questo metodo.

Ve lo mostro con il mio esempio. Segui il metodo con i dettagli nel tuo messaggio di errore.

W:i pacchetti di destinazione (main/binary-amd64/Packages) sono configurati più volte in /etc/apt/sources.list.d/microsoft-edge-dev.list:3 e /etc/apt/sources.list .d/microsoft-edge.list:3

Nel messaggio di errore sopra, mi dice che la riga numero 3 del file /etc/apt/sources.list.d/microsoft-edge-dev.list è la stessa della riga numero 3 del file /etc/apt/sources .list.d/microsoft-edge.list.

È successo perché avevo installato la versione beta del browser Microsoft Edge. Quando è stata rilasciata la versione stabile, l'ho installata dal file deb e ha aggiunto un'altra voce.

La decisione per me è semplice, posso eliminare uno dei file e non si lamenterà della voce duplicata. Se hai familiarità con la riga di comando di Linux, puoi ottenere il percorso completo del file e utilizzare il comando rm con sudo per eliminarlo.

Ma se sei all'oscuro del terminale Linux, c'è un approccio più sicuro ed è commentare la riga ripetuta.

Nel terminale, copia il percorso completo di uno dei file dei problemi. Per me, è /etc/apt/sources.list.d/microsoft-edge-dev.list. Usa questo comando sudo gedit in questo modo:

sudo gedit /etc/apt/sources.list.d/microsoft-edge-dev.list

Si aprirà il file nell'editor di testo grafico e potrai andare al numero di riga di cui si lamentava il sistema e aggiungere un # all'inizio della riga:

Questo tratterà la riga come un commento. Salva il file e chiudi l'editor. Il tuo problema dovrebbe cessare ora.

Metodo (o caso d'uso) 3:quando un file proviene da /etc/apt/sources.list e l'altro è dalla directory /etc/apt/sources.list.d

L'idea è di evitare di toccare il file principale /etc/apt/sources.list.

Quindi, se hai righe duplicate in questo file e in qualche altro file nella directory /etc/apt/sources.list.d, dovresti modificare il file nella cartella /etc/apt/sources.list.d.

Copi il suo percorso e lo apri con sudo gedit nello stesso modo in cui hai visto nel metodo precedente.

Metodo (o caso d'uso) 4:quando tutte le voci duplicate sono nel file /etc/apt/sources.list stesso

È possibile che tu abbia aggiunto più voci nel file principale /etc/apt/sources.list. Non avresti dovuto, ma non hai familiarità con le cose, quindi l'hai fatto. Ora si lamenta di entroe duplicati nello stesso file.

W:I pacchetti di destinazione (universe/binary-amd64/Packages) sono configurati più volte in /etc/apt/sources.list:16 e /etc/apt/sources.list:53

Ora, la prima cosa qui è fare un backup di questo file con questo comando:

sudo cp /etc/apt/sources.list /etc/apt/sources.list.back

Quindi, apri il file con l'editor di testo Gedit e sudo:

sudo gedit /etc/apt/sources.list

Se lo desideri, puoi andare su Preferenze in Gedit e visualizzare i numeri di riga. Sarà più facile vedere i numeri di riga.

Ora guarda di nuovo il messaggio di errore e guarda di quali righe si lamenta. Vai a una di quelle righe e aggiungi il # prima o elimina del tutto la riga.

Salva il file e chiudi l'editor. Questo è tutto.

Ti è stato di aiuto?

Non so se ho complicato le cose. Volevo spiegare le cose in dettaglio in modo che i principianti potessero risolvere il problema senza incasinare il loro sistema.

Fammi sapere se ha funzionato per te o meno. Se hai ancora domande, non esitare a chiedere nella sezione commenti.



Ubuntu
  1. Come elencare i pacchetti installati su Ubuntu 20.04

  2. Come elencare i pacchetti installati in Ubuntu

  3. Correzione dell'errore "I pacchetti di destinazione sono configurati più volte" nelle distribuzioni Linux basate su Ubuntu e Debian

  4. Risolto il problema con "Impossibile acquisire il blocco del frontend dpkg. Sei root?" Errore su Ubuntu e altre distribuzioni Linux

  5. Come elencare i repository installati in Ubuntu e Debian

Come elencare i pacchetti installati in Ubuntu 20.04

Come elencare tutti i pacchetti aggiornabili in Ubuntu, Debian e Mint

Come elencare i pacchetti installati su Ubuntu e distribuzioni Linux basate su Debian

Correzione dell'errore "Impossibile analizzare il file del pacchetto /var/lib/apt/lists" in Ubuntu e altre distribuzioni Linux

Correzione dell'errore "I seguenti pacchetti sono stati trattenuti" durante l'aggiornamento delle distribuzioni Linux basate su Ubuntu e Debian

Correzione dell'errore "Impossibile correggere i problemi, hai tenuto pacchetti rotti" in Ubuntu e altre distribuzioni Linux