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.
Para o Ubuntu 12.04
Graficamente:
Pressione Alt+ F2e cole
software-properties-gtk
(ou você pode abrir "Software Center" e depois ir em "Editar"> "Fontes de software"). Vá para a aba "Outro software", escolha a entrada duplicada e pressione o botão "Remover".Se você precisar de uma opção de linha de comando, aqui está:
O comando faz isso:
cat
lê o arquivo e passa o conteúdo aoperl
qual remove as linhas duplicadas. O resultado é salvo>
em um arquivo temporário que é movido para substituir o/etc/apt/sources.list
arquivo original .fonte
sudo apt-get update
ainda reclama de entradas duplicadas como se nada tivesse mudado. Se isso importa, estou no 12.04 (especificamente, elementar OS Luna).cat
é inútil e impede que você usesudo perl -i
Quão ruim são as entradas duplicadas no sources.list?
Não sei o quão ruim é, mas não gosto do sudo apt-get update mostrando-me entradas duplicadas.
A propósito, não é tão ruim, está apenas mostrando que você tem entradas duplicadas.
SourcesList
O arquivo sources.list é um fator chave na adição ou atualização de aplicativos para a instalação do Ubuntu. Isso também é usado pelo seu sistema para atualizações do sistema. O arquivo é basicamente o roteiro para o seu sistema saber onde pode baixar programas para instalação ou atualização.
É como a atualização do Windows
Abra o formulário y-ppa-manager Dash
fonte
O repositório do parceiro é duplicado dentro
/etc/apt/sources.list
e/etc/apt/sources.list.d/precise-partner.list
.Apenas remova esses arquivos "parceiro preciso", pois o repositório parceiro já está presente
sources.list
.fonte
rm: cannot remove '/etc/apt/sources.list.d/precise-partner.*': No such file or directory
sudo rm /etc/apt/sources.list.d/*partner*
. Verifique também o seu /etc/apt/sources.list, procure linhas duplicadas./etc/apt/sources.list
não contém duplicatas de acordo comuniq
.Faça uma cópia de backup do seu sources.list:
Agora remova o original e atualize:
fonte
sources.list
arquivo?Eu tive o mesmo problema, fontes de software abertas. desmarcada "Parceiros canônicos". O conflito está entre "Parceiros Canonônicos" e "Parceiros Canonônicos Adicionados pelo Centro de Software"
fonte
Se você não conseguiu descobrir isso no seu
source.list
, faça o seguinte:sudo apt-get update
.fonte
10.10 e anteriores
Aplicativos> Ubuntu Software Center> Editar> Fontes de Software> Outro Software
OU
Sistema> Administração> Synaptic Packet Manager> Configurações> Repositórios
Selecione e remova entradas duplicadas.
fonte
Para Ubuntu 9.10 - 12.04
Existe um aplicativo chamado Y-PPA-Manager que pode fazer isso e muito mais.
Você pode instalá-lo assim em um terminal:
Depois disso, basta iniciar o aplicativo e ir para o menu Avançado.
Em seguida, selecione "Digitalizar e remover PPAs duplicados" e pressione OK.
fonte
Parece que você tem duas linhas idênticas no seu
/etc/apt/sources.list
arquivo.Vá para o terminal e digite
sudo editor /etc/apt/sources.list
, procure por linhas idênticas nesse arquivo e, se você as encontrar, exclua-as. Após concluir, salve e saia e, em seguida, façasudo apt-get update
e isso deve resolver seu problema.Se isso não resolver o seu problema, você precisará usar uma abordagem de tentativa e erro. Primeiro, crie um backup do seu
sources.list
arquivo e, em seguida, no arquivo real,apt-get update
analise ou exclua cada linha, salvando e -ing após cada linha ter sido comentada ou excluída. Passar por esse arquivo linha por linha comentando linhas diferentes acabará por lhe dizer qual é a linha supérflua. Não se esqueça de descomentar todas as linhas que você comentou seapt-get update
ainda mostrar o mesmo prompt, caso contrário você não terá fontes nosources.list
arquivo.fonte
Eu procurei por essa ferramenta, mas não encontrei nenhuma ...
Então, acabei codificando uma
PHP
.Desculpe pelo código-fonte desorganizado e sujo.
chkdup - Captura de tela:
Autor
Mubarak Alrashidi (DeaDSouL)
Requisitos:
Instalação:
sudo apt-get install php5 php5-cli
.sudo sh install.sh
.Desinstalar:
sudo sh uninstall.sh
.Como usá-lo:
Basta abrir o terminal e digite
sudo chkdup
.Perguntas frequentes:
O que o install.sh faz?
chkdup.php
para/opt/
então criará um link simbólico/usr/bin/
.E o uninstall.sh?
O desinstalador removerá os seguintes arquivos:
install.sh
/opt/chkdup.php
/usr/bin/chkdup
uninstall.sh
É seguro usar o chkdup?
Licença
Licença Pública Geral GNU
fonte
Você checou
ls /etc/apt/sources.list.d/
? Talvez você tenha alguns repositórios "extras" lá?fonte
Instale o ubuntu-tweak e remova as entradas duplicadas de lá.
fonte
Não, não há uma única linha de comando para localizar e excluir entradas duplicadas no
/etc/apt/sources.list
arquivo.Isso ocorre porque as linhas de comando sugeridas, que meramente duplicam a função do
uniq
comando interno muito mais simples , funcionarão apenas em um arquivo SORTED e removerão apenas as linhas ADJACENT. Além disso, esses comandos removerão apenas linhas que consistem em uma sequência idêntica de caracteres .As entradas duplicadas relatadas por
apt-get update
consistirão em entradas de funções duplicadas , como um repositório sendo incluído em suas variantesi386
eamd64
. A maneira fácil e eficaz de removê-los é observar quais repositórios são relatados como duplicados pelo apt-get update e removê-los através do Software Center . Abra-o e escolha Editar -> Fontes de Software -> Outro Software . Basta procurar as entradas duplicadas e desmarcá-las. (Essa também é uma oportunidade para remover todos ossource-code
repositórios, se você não estiver compilando os pacotes).No entanto, deve-se notar que
apt-get update
não apenas encontra entradas duplicadas viasources.list
, mas inclui arquivos de repositório localizados em/var/lib/apt/lists/
. Excluir entradas duplicadas de lá removerá temporariamente asapt-get update
mensagens de erro se o Ubuntu achar que precisa delas, pois os arquivos serão reinstalados automaticamente. O fato deapt-get update
relatar alguns repositórios como duplicados e sugerir que você executeapt-get update
-o para repará-los é uma pista de que você realmente não precisa se preocupar com essa mensagem de erro.fonte
No meu caso, as duplicatas estavam no
prerequists-sources.list
arquivo. Consegui continuar a atualização executando os seguintes comandos no Terminal:Em seguida, vá para
Update Manager
e instale as atualizações.fonte
.list
é suficienteBem, resolvi o problema da entrada duplicada renomeando
/etc/apt/sources.d
(como root) para outra coisa e executandosudo apt-get update
para restabelecer o diretório e seu conteúdo.fonte
Passou
/etc/apt/sources.list
manualmentesudo nano /etc/apt/sources.list
e removeu as duplicatas. Depoisapt-get update
, o problema foi resolvido.fonte
Em
/etc/apt/sources.list
você deve comentar (adicionar#
no início da linha) a entrada repositório duplicado e salvar as alterações. Depois dessa repetiçãosudo apt-get update
.fonte
Use o gerador de lista de fontes do Ubuntu .
sudo -H nautilus
no terminal/etc/apt/sources.list
sources.list
e salve.O Google parece ter um problema, então eu sugiro deixar isso de fora. Eu fiz isso no Ubuntu 12.10 (versão Studio com a área de trabalho Ubuntu adicionada e o Unity para outra entrada na área de trabalho).
fonte
Apenas edite o arquivo
/etc/apt/sources.list
(por exemplo, usesudo -H gedit /etc/apt/sources.list
) e remova a linha duplicada ou coloque uma#
no início da linha.fonte
Eu tento completar as possibilidades oferecidas por outros usuários usando o terminal, já que foi o que você perguntou, principalmente:
efetue login se estiver usando uma instalação baseada em texto ou pressione Alt+ F2e digite gnome-terminal se estiver usando GUI
Então digite
(Para entender melhor: no diretório
/etc
você pode encontrar (quase) todos os arquivos de configuração do seu computador e noapt
diretório você encontra osouces.list
arquivo que contém todos os repositórios que o APT usa para atualizar ou instalar e atualizar o software)Edite o arquivo removendo ou comentando com
#
no início da linha quaisquer linhas duplicadas.Pressione Ctrl+ Xpara sair e pressione ypara salvar o arquivo (ou npara sair sem salvar).
Atualize para ver se você o corrigiu:
Diverta-se!
fonte
* Quebras de linha inseridas para facilitar a leitura.
fonte
Execute o seguinte para remover as duplicatas
fonte
No caso de
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)
Abrir:
sources.list.d
rm google.list
então só
google-chrome.list
restafonte
É um trabalho apropriado para o
uniq
qual omite linhas duplicadas e imprima apenas entradas únicas; assim, podemos obteruniq
e substituir o arquivo antigo pelauniq
saída de:fonte
uniq
precisa de entrada classificada.sort -u
faz o mesmo trabalho =)