Seu sources.list realmente tem entradas duplicadas.
Primeiro, vamos ver a forma correta de uma linha de repositório ou 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, hospedados em http://archive.ubuntu.com/ubuntu e esse repositório é para o Ubuntu preciso (12.04) e esse repositório contém o principal (software oficialmente suportado pelo Componente canônico).
Tipo: O tipo pode ser deb
e deb-src
. deb
significa um repositório binário em que deb-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 da versão do Ubuntu. Para o Ubuntu 12.04, é precise
para o 11.10 oneiric
.
Você pode visitar o Wiki do Ubuntu para visualizar uma lista atualizada de versões do Ubuntu e seus nomes de código .
Componente: Pode ser main
, universe
, multiverse
e restricted
. Essas palavras indicam o nível de suporte para os pacotes e o status de licenciamento.
Veja esta página para mais informações.
Observe que você pode adicionar um ou mais componentes em uma linha, para que "principal", "universo", "restrito" e "multiverso" possam estar em uma única linha. Observe também, embora você adicione mais de um componente em uma única linha, o sistema APT os considera como linha separada contendo apenas um componente.
Então, se você sources.list
tem 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
o que é equivalente a essas duas linhas
deb http://archive.ubuntu.com/ubuntu precise main
deb http://archive.ubuntu.com/ubuntu precise universe
Como você está duplicando o universo duas vezes, haverá um erro para essa duplicata. Um erro será fornecido para cada duplicata encontrada.
Solução:
Depois de analisar o seu sources.list
arquivo, descobri que, é um arquivo básico que é fornecido pelo Ubuntu por padrão. Você pode criar um arquivo padrão seguindo o procedimento:
Abra um terminal e primeiro renomeie o sources.list
arquivo existente para sources.list.bak
arquivo. (podemos removê-lo com segurança, mas cuidado é bom).
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 do dash pressionando Alt+F2
software-properties-gtk
Observe que, para o Ubuntu versão 11.10 ou anterior, você precisa usar gksu
antes do software-properties-gtk
comando
Depois que a janela é aberta,
- Selecione todas as quatro categorias na guia Software Ubuntu
- Selecione a segurança precisa , precisas atualizações e precisas-backports categoria em Updates guia.
- Selecione Parceiro Canonical e categoria Independente na guia Outro software .
É isso aí. Agora você tem um sources.list
arquivo padrão sem erros. Compare este arquivo com o anterior, se desejar.
Atualização para lidar com sources.list.d
os arquivos de dir
Às vezes, uma entrada duplicada pode estar em um arquivo no /etc/apt/sources.list.d
diretório, que também é usado pelo APT. Portanto, você deve olhar para esse diretório e ver se há alguma duplicata nesses arquivos. Não é necessário que duplicatas estejam no mesmo arquivo.
Exemplo de caso:
Um usuário recebeu essa mensagem de erro enquanto fazia isso 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 havia entrada http://dl.google.com
no /etc/apt/sources.list
arquivo principal . Observando o /etc/apt/sources.list.d/
diretório, 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
eram bons candidatos para conter duplicatas. Portanto, era necessário verificar o conteúdo dos dois arquivos.
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
Portanto, houve uma entrada duplicada nas fontes do Apt. Como google-chrome.list
contém apenas uma única linha apt e também foi listada no google.list
arquivo, podemos removê-lo com segurança com o comando
sudo rm /etc/apt/sources.list.d/google-chrome.list
Então o problema foi resolvido.