Sua sources.list realmente tem entradas duplicadas.
Primeiro, vamos ver a forma correta de uma linha de repositório ou linha de origem:
O formato correto da linha de origem do repositório é
<type of repository> <location> <dist-name> <components>
Por exemplo, uma linha de recompra pode ser como esta
deb http://archive.ubuntu.com/ubuntu precise main
Aqui, isso significa que o repositório é para pacotes binários, que estão hospedados no link e este repositório é para O Ubuntu precisa (12.04) e este repositório contém o componente principal (software oficialmente suportado pela Canonical).
-
Tipo: O tipo pode ser
deb
edeb-src
.deb
significa um repositório binário em quedeb-src
significa um repositório de origem -
Localização:
http://archive.ubuntu.com/ubuntu
localização do repositório. -
Dist-name: O nome da distribuição do lançamento do Ubuntu. Para o Ubuntu 12.04 é
precise
, para 11,10 éoneiric
.
Você pode visitar o Ubuntu Wiki para ver uma atualização lista de lançamentos do Ubuntu e seus nomes de código . -
Componente: pode ser
main
,universe
,multiverse
erestricted
. Essas palavras indicam o nível de suporte para os pacotes e o status de licenciamento.
Veja esta página para mais informações.
Por favor, tome nota que, você pode adicionar um ou mais componentes em uma linha, então "main", "universe", "restricted" e "multiverse" podem estar em uma única linha. Além disso, observe que, embora você adicione mais de um componente em uma única linha, o sistema APT os considera como uma linha separada contendo apenas um componente.
Então, se o seu sources.list
tiver uma linha como esta
deb http://archive.ubuntu.com/ubuntu precise universe
Então não pode ter outra linha como a abaixo (que seus arquivos possuem)
deb http://archive.ubuntu.com/ubuntu precise main universe
que é equivalente a estas duas linhas
deb http://archive.ubuntu.com/ubuntu precise main
deb http://archive.ubuntu.com/ubuntu precise universe
Como você está duplicando universe duas vezes, haverá um erro para essa duplicata. Um erro será dado para cada duplicata encontrada.
Solução:
Depois de analisar o seu arquivo sources.list
, descobri que ele é básico, fornecido pelo Ubuntu por padrão. Você pode criar um arquivo padrão seguindo o procedimento:
-
Abra um terminal e primeiro renomeie o arquivo
sources.list
existente para o arquivosources.list.bak
. (podemos remover isso com segurança, mas a cautela é boa).sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak
-
Em seguida, abra
software-properties-gtk
para criar um novo. Digite o comando abaixo em um terminal ou no prompt de comando traço pressionando Alt + F2software-properties-gtk
Note que, para o Ubuntu versão 11.10 ou anterior, você tem que usar
gksu
antes do comandosoftware-properties-gtk
-
Depois que a janela estiver aberta,
- Selecione todas as quatro categorias na guia Ubuntu Software
- Selecione as categorias precis-security , precisos-atualizações e precise-backports na guia Atualizações .
- Selecione a categoria Canonical partner e Independent na guia Outro software .
É isso. Você tem agora um arquivo sources.list
padrão sem erro. Compare este arquivo com o anterior, se quiser.
Atualizar para lidar com os arquivos sources.list.d
dir
Às vezes, uma entrada duplicada pode estar em um arquivo no diretório /etc/apt/sources.list.d
, que também é usado pelo APT. Então, você deve olhar para esse diretório e ver se há alguma duplicata nesses arquivos. Não é necessário que as duplicatas estejam no mesmo arquivo.
Exemplo de caso:
Um usuário exibiu essa mensagem de erro ao fazer 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
Mas não houve entrada com http://dl.google.com
no arquivo principal /etc/apt/sources.list
. Observando o diretório /etc/apt/sources.list.d/
, encontramos esses arquivos:
saída de 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
Os arquivos google-chrome.list
e google.list
foram bons candidatos para conter duplicatas. Então, verificar o conteúdo de ambos os arquivos foi necessário.
Saída de cat /etc/apt/sources.list.d/google-chrome.list
:
deb http://dl.google.com/linux/chrome/deb/ stable main
e de cat /etc/apt/sources.list.d/google.list
deb http://dl.google.com/linux/chrome/deb/ stable main
Então, houve uma entrada duplicada nas fontes do Apt. Como google-chrome.list
contém apenas uma única linha do apt e ela também foi listada no arquivo google.list
, podemos remover esse arquivo com segurança com o comando
sudo rm /etc/apt/sources.list.d/google-chrome.list
Então o problema foi resolvido.