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 debe deb-src. debindica un repository binario dove deb-srcsignifica 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, multiversee 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.listhai 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.listfile, 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.listfile esistente in sources.list.bakfile. (possiamo rimuoverlo in sicurezza, ma attenzione è buona).
sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak
Quindi aprire software-properties-gtkper 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 gksuprima del software-properties-gtkcomando
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.listfile predefinito senza errori. Confronta questo file con quello precedente, se lo desideri.
Aggiornamento per gestire sources.list.di file di dir
A volte una voce duplicata può trovarsi in un file nella /etc/apt/sources.list.ddirectory, 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.comnel /etc/apt/sources.listfile 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.liste google.listsono 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.listche contiene solo una singola riga apt ed è stato anche elencato nel google.listfile, possiamo rimuovere questo file in sicurezza con il comando
sudo rm /etc/apt/sources.list.d/google-chrome.list
Quindi il problema è stato risolto.