Correção do erro 'Target Packages is configured multiple times' nas distribuições Linux baseadas no Ubuntu e Debian

Está tendo o erro 'Target Packages is configured multiple times' com comando de atualização apt? Aqui está o que você pode fazer sobre isso.

Correção do erro 'Target Packages is configured multiple times' nas distribuições Linux baseadas no Ubuntu e Debian

Recentemente, quando eu estava atualizando o Ubuntu via linha de comando, encontrei um aviso que reclamava que o pacote de destino estava sendo configurado várias vezes.

A mensagem exata depois de executar o comando sudo apt update parecia assim:

Fetched 324 kB in 6s (50.6 kB/s)
Reading package lists… Done
Building dependency tree… Done
Reading state information… Done
17 packages can be upgraded. Run ‘apt list –upgradable’ to see them.
W: Target Packages (main/binary-amd64/Packages) is configured multiple times in /etc/apt/sources.list.d/microsoft-edge-dev.list:3 and /etc/apt/sources.list.d/microsoft-edge.list:3

Como eu sei algumas coisas sobre como o gerente de pacotes apt funciona, eu já posso ver o problema.

O negócio é o seguinte. Um repositório foi adicionado à lista de fontes duas vezes. Isso pode acontecer no mesmo arquivo ou em arquivos separados.

A correção é ler a mensagem de erro (é um aviso, na verdade) corretamente e editar o arquivo para remover (ou comentar) linhas duplicadas. Você pode ver que ele menciona o nome do arquivo e o número da linha.

Então, aqui no meu caso, eu removi a terceira linha de um dos arquivos e ele parou de mostrar o aviso para mim. Resumindo, aqui está o que você precisa fazer:

  • Ler a mensagem de erro e descobrir qual número de linha de quais arquivos têm a mesma entrada.
  • Usar um editor de texto baseado em terminal como Nano para editar um dos arquivos e remover ou comentar a linha duplicada.
  • A solução pode exigir que você esteja familiarizado (e confortável) com comandos Linux básicos.

Mas isso é uma explicação muito curta se você não estiver familiarizado com o gerenciamento de pacotes no Ubuntu ou Debian.

Entendendo e corrigindo o problema do pacote configurado várias vezes

É importante entender o problema para corrigi-lo. É porque não há uma única ordem para fazê-lo desaparecer. A solução requer um pouco de esforço do seu lado e você verá que o comando/processo exato pode variar para pessoas diferentes.

O que causa esse problema?

Se você ler a mensagem de aviso, você pode pelo menos adivinhar que algo está configurado mais de uma vez.

O gerenciamento de pacotes APT funciona em sources.list. É apenas um arquivo de texto que contém as informações sobre repositórios de onde você pode baixar certos pacotes.

Existe um arquivo principal /etc/apt/sources.list que contém os detalhes dos repositórios oficiais fornecidos pelo Ubuntu. Em seguida, há o diretório /etc/apt/sources.list.d que contém arquivos para repositórios externos adicionais.

A norma é que você não toque no arquivo principal /etc/apt/sources.list. Você adiciona um novo arquivo em /etc/apt/sources.list.d para quaisquer repositórios adicionais adicionados.

lista de fontes aptas

Arquivos de lista de fontes

O problema surge quando você está tentando instalar algum software lendo vários tutoriais da internet. Você tenta adicionar um repositório externo, não funciona ao seu gosto. Você tenta adicionar algum outro repositório de algum outro tutorial e você acaba com entradas duplicadas sem sequer perceber.

Para ser claro, isso não é um erro. Se você tiver entradas duplicadas na lista de fontes, seu sistema ainda estará baixando os pacotes dele. Não está impedindo seu sistema de funcionar como sempre. É por isso que é uma mensagem de aviso, não um erro. É que espera que um repositório seja adicionado apenas uma vez.

Corrigindo as entradas duplicadas do repositório

Para corrigir o problema, você tem que remover todas as entradas duplicadas e deixar apenas uma delas no sistema.

É mais fácil dizer do que fazer, especialmente para iniciantes. Deixe-me compartilhar algumas dicas e sugestões sobre isso.

Método 1: Para usuários de desktop do Ubuntu

Existe um aplicativo chamado Software e Atualizações no Ubuntu. Inicie esta aplicação.

software e atualizações

Vá para o aplicativo Software e Atualizações

Vá para a guia Outros Software e consulte os repositórios adicionais adicionados ao seu sistema. Os verificados estão ativos.

Você pode olhar todas as verificadas e ver se você pode detectar entradas duplicadas. Se sim, selecione um deles e aperte o botão de remover.

remover repositórios duplicados ubuntu

Identifique e remova as entradas duplicadas, deixando apenas um repositório

Você pode executar o comando de atualização novamente para ver se o problema está corrigido. Eu sei que não é muito conveniente, mas se você quer a conveniência de uma ferramenta de GUI, isso é o que você tem que fazer.

Se você não pode detectar as entradas duplicadas, você tem que ser um detetive e investigá-la a partir da mensagem de erro, como explicado nas próximas seções.

Método 2: Remova entradas duplicadas usando a linha de comando (se o erro duplicado não estiver no arquivo /etc/apt/sources.list)

Observe a diferença entre /etc/apt sources.list (arquivo de fontes principais do sistema) e /etc/apt/sources.list.d (pasta para manter os arquivos para repositórios adicionais).

Se o erro reclamar de entradas repetidas em arquivos sob a pasta /etc/apt/sources.list.d, use este método.

Vou mostrar para você com o meu exemplo. Siga o método com os detalhes em sua própria mensagem de erro.

W: Target Packages (main/binary-amd64/Packages) is configured multiple times in /etc/apt/sources.list.d/microsoft-edge-dev.list:3 and /etc/apt/sources.list.d/microsoft-edge.list:3

Na mensagem de erro acima, ele me diz que a linha número 3 do arquivo /etc/apt/sources.list.d/microsoft-edge-dev.list é a mesma da linha número 3 do arquivo /etc/apt/sources.list.d/microsoft-edge.list.

Aconteceu porque eu tinha a versão beta do navegador Microsoft Edge instalada. Quando a versão estável foi lançada, instalei-a a partir do arquivo deb e adicionou outra entrada.

A decisão para mim é simples, eu posso apagar um dos arquivos e ele não vai reclamar da entrada duplicada. Se você estiver familiarizado com a linha de comando Linux, você pode obter o caminho completo do arquivo e usar o comando rm com sudo para excluí-lo.

Mas se você é inexperiente no terminal Linux, há uma abordagem mais segura e que é comentar a linha repetida.

No terminal, copie o caminho completo de um dos arquivos com problema. Para mim, é /etc/apt/sources.list.d/microsoft-edge-dev.list. Use este comando sudo gedit assim:

Comandos para usar no terminal

sudo gedit /etc/apt/sources.list.d/microsoft-edge-dev.list

Ele abrirá o arquivo no editor de texto gráfico e você pode ir para o número de linha que o sistema estava reclamando e adicionar um # no início da linha:

desativar o ubuntu do repositório

Vá para o número de linha mencionado no erro e adicione # no início dele

Isso tratará a linha como um comentário. Salve o arquivo e feche o editor. Seu problema deve parar agora.

Método (ou caso de uso) 3: Quando um arquivo é /etc/apt/sources.list e outro é do diretório /etc/apt/sources.list.d

A ideia é evitar tocar no arquivo principal /etc/apt/sources.list.

Então, se você tiver linhas duplicadas neste arquivo e algum outro arquivo no diretório /etc/apt/sources.list.d, você deve editar o arquivo na pasta /etc/apt/sources.list.d.

Você copia seu caminho e o abre com sudo gedit da mesma forma que viu no método anterior.

Método (ou caso de uso) 4: Quando todas as entradas duplicadas estiverem no próprio arquivo /etc/apt/sources.list

É possível que você tenha adicionado várias entradas no arquivo principal /etc/apt/sources.list. Você não deveria, mas não está familiarizado com as coisas, então você fez isso. Agora ele reclama de entradas duplicadas no mesmo arquivo.

W: Target Packages (universe/binary-amd64/Packages) is configured multiple times in /etc/apt/sources.list:16 and /etc/apt/sources.list:53

duplicar entradas na lista de fontes

Entradas duplicadas no arquivo /etc/apt/sources.list

Agora, a primeira coisa aqui é fazer um backup deste arquivo com este comando:

Comandos para usar no terminal

sudo cp /etc/apt/sources.list /etc/apt/sources.list.back

Em seguida, abra o arquivo com o editor de texto do Gedit e sudo:

Comandos para usar no terminal

sudo gedit /etc/apt/sources.list

Se você quiser, você pode ir para Preferências em Gedit e exibir números de linha. Será mais fácil ver os números da linha.

gedit mostrar números de linha

Mostrar números de linha no Gedit

Agora olhe novamente para a mensagem de erro e veja de quais linhas ela reclama. Vá para uma dessas linhas e adicione o # antes ou exclua a linha completamente.

remover a entrada duplicada da lista de fontes

Removendo a entrada duplicada da lista de fontes

Salve o arquivo e feche o editor. É isso.

Isso te ajudou?

Não sei se fiz as coisas mais complicadas. Eu queria explicar as coisas em detalhes para que os iniciantes em especial pudessem resolver o problema sem mexer com seu sistema.

Me avise se funcionou para você ou não. Se você ainda tiver dúvidas, fique à vontade para perguntar na seção de comentários.

Última atualização deste artigo: 17 de dezembro de 2021

PROPAGANDA
PROPAGANDA