Il tuo sources.list ha davvero voci duplicate.
Innanzitutto vediamo la forma corretta di una riga del repository o di una riga di origine:
Il formato corretto della riga di origine del repository è
<type of repository> <location> <dist-name> <components>
Ad esempio, una linea di pronti contro termine può essere come questa
deb http://archive.ubuntu.com/ubuntu precise main
Qui, significa che il repository è per pacchetti binari, che sono ospitati in http://archive.ubuntu.com/ubuntu e questo repository è per Ubuntu preciso (12.04) e questo repository contiene il principale (software che è ufficialmente supportato da Componente canonico).
Tipo: il tipo può essere deb
e deb-src
. deb
indica un repository binario dove deb-src
significa un repository di origine
Posizione: http://archive.ubuntu.com/ubuntu
posizione del repository.
Dist-name: il nome di distribuzione della versione di Ubuntu. Per Ubuntu 12.04 lo è precise
, per 11.10 lo è oneiric
.
Puoi visitare il wiki di Ubuntu per visualizzare un elenco aggiornato delle versioni di Ubuntu e dei loro nomi in codice .
Componente: Può essere main
, universe
, multiverse
e restricted
. Queste parole indicano il livello di supporto per i pacchetti e lo stato delle licenze.
Vedi questa pagina per maggiori informazioni.
Si noti che è possibile aggiungere uno o più componenti in una riga, quindi "principale", "universo", "limitato" e "multiverso" possono trovarsi in una singola riga. Inoltre, sebbene si aggiunga più di un componente in una singola riga, il sistema APT li considera come una riga separata contenente un solo componente.
Quindi, se sources.list
hai una linea come questa
deb http://archive.ubuntu.com/ubuntu precise universe
Quindi non può avere un'altra linea come la seguente (che i tuoi file hanno)
deb http://archive.ubuntu.com/ubuntu precise main universe
che equivale a queste due linee
deb http://archive.ubuntu.com/ubuntu precise main
deb http://archive.ubuntu.com/ubuntu precise universe
Perché stai duplicando l' universo due volte, quindi ci sarà un errore per quel duplicato. Verrà fornito un errore per ogni duplicato trovato.
Soluzione:
Dopo aver analizzato il tuo sources.list
file, ho scoperto che è di base che viene fornito da Ubuntu per impostazione predefinita. È possibile creare un file predefinito seguendo la procedura:
Apri un terminale e prima rinomina il sources.list
file esistente in sources.list.bak
file. (possiamo rimuoverlo in sicurezza, ma attenzione è buona).
sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak
Quindi aprire software-properties-gtk
per costruirne uno nuovo. Digitare il comando seguente in un terminale o nel prompt dei comandi trattino premendo Alt+F2
software-properties-gtk
Nota, per Ubuntu versione 11.10 o precedente devi usare gksu
prima del software-properties-gtk
comando
Dopo che la finestra è aperta,
- Seleziona tutte e quattro le categorie nella scheda Software Ubuntu
- Selezionare precisa-sicurezza , precisi-updates e precisi-backports categoria in Aggiornamenti scheda.
- Seleziona Partner canonico e categoria Indipendente dalla scheda Altro software .
Questo è tutto. Ora hai un sources.list
file predefinito senza errori. Confronta questo file con quello precedente, se lo desideri.
Aggiornamento per gestire sources.list.d
i file di dir
A volte una voce duplicata può trovarsi in un file nella /etc/apt/sources.list.d
directory, che viene utilizzata anche da APT. Quindi, dovresti guardare quella directory e vedere se c'è qualche duplicato in quei file. Non è necessario che i duplicati si trovino nello stesso file.
Caso di esempio:
Un utente ha visualizzato questo messaggio di errore durante l'operazione sudo apt-get update
.
W: Duplicate sources.list entry http://dl.google.com/linux/chrome/deb/ stable/main amd64 Packages (/var/lib/apt/lists/dl.google.com_linux_chrome_deb_dists_stable_main_binary-amd64_Packages)
W: Duplicate sources.list entry http://dl.google.com/linux/chrome/deb/ stable/main i386 Packages (/var/lib/apt/lists/dl.google.com_linux_chrome_deb_dists_stable_main_binary-i386_Packages)
W: You may want to run apt-get update to correct these problems
Ma non c'era alcuna voce http://dl.google.com
nel /etc/apt/sources.list
file principale . Guardando la /etc/apt/sources.list.d/
directory abbiamo trovato questi file:
uscita di ls /etc/apt/sources.list.d/
:
aims-sagemath-precise.list
aims-sagemath-precise.list.save
dropbox.list
dropbox.list.save
fossfreedom-packagefixes-precise.list
fossfreedom-packagefixes-precise.list.save
google-chrome.list
google-chrome.list.save
google.list
google.list.save
sagemath-monolithic-precise.list
sagemath-monolithic-precise.list.save
I file google-chrome.list
e google.list
sono stati buoni candidati per contenere duplicati. Quindi, era necessario controllare il contenuto di entrambi i file.
Uscita di cat /etc/apt/sources.list.d/google-chrome.list
:
deb http://dl.google.com/linux/chrome/deb/ stable main
e di cat /etc/apt/sources.list.d/google.list
deb http://dl.google.com/linux/chrome/deb/ stable main
Quindi, c'erano voci duplicate nelle fonti di Apt. Dato google-chrome.list
che contiene solo una singola riga apt ed è stato anche elencato nel google.list
file, possiamo rimuovere questo file in sicurezza con il comando
sudo rm /etc/apt/sources.list.d/google-chrome.list
Quindi il problema è stato risolto.