Entendendo sources.list no Ubuntu e Debian

Entendendo sources.list no Ubuntu e Debian

Compreender o conceito de sources.list no Ubuntu irá ajudá-lo a entender e corrigir erros comuns de atualização no Ubuntu.

Você provavelmente está familiarizado com o conceito de gerenciadores de pacotes e repositórios.

Um repositório é basicamente um servidor web que possui pacotes (software). O gerenciador de pacotes obtém esses pacotes dos repositórios.

Como o gerenciador de pacotes apt sabe o endereço dos repositórios? A resposta é o arquivo sources.list.

O que o sources.list faz?

É basicamente um arquivo de texto que contém os detalhes do repositório. Cada linha não comentada representa um repositório separado.

Arquivo de lista de fontes padrão no Ubuntu

As linhas seguem um formato específico, no entanto. Geralmente é composto por isto:

tipo-de-archive url-do-repositório distribução componente

Talvez não seja fácil de entender. Vamos dar uma olhada em uma das linhas reais:

deb http://archive.ubuntu.com/ubuntu kinetic main restricted

O tipo de arquivo é deb aqui, o que significa que você receberá pacotes de deb pré-compilados. Outro tipo de arquivo é o deb-src, que fornece o código-fonte real, mas geralmente é comentado (não usado pelo sistema) porque um usuário comum não precisa do código-fonte de um aplicativo. O arquivo deb permite que você instale o pacote.

O URL do repositório é http://archive.ubuntu.com/ubuntu. Na verdade, você pode visitar esse URL e ver várias pastas disponíveis (que contêm os detalhes do pacote).

Índice do repositório Ubuntu

Em seguida, a distribuição é kinetic. No repositório real, ele é representado comodists. É porque existem várias categorias de repositórios, como kinetic-security (para pacotes de segurança), kinetic-backports (para pacotes backported) etc. É por isso que não é apenas o nome da distribuição.

Então, você pode ir para este URL http://archive.ubuntu.com/ubuntu/dists/ e ver que kinetic (codinome para Ubuntu 22.10) é uma das pastas disponíveis entre muitas outras opções aqui.

sources_3

O componente é um dos cinco tipos de repositórios padrão do Ubuntu.

Entendendo a estrutura do repositório do Ubuntu a partir de sources.list

Você pode combinar mais de um (se disponível) na mesma linha, na verdade. Em vez de escrever duas linhas como esta:

deb http://archive.ubuntu.com/ubuntu kinetic main
deb http://archive.ubuntu.com/ubuntu kinetic restricted

Você escreve dois deles juntos assim:

deb http://archive.ubuntu.com/ubuntu kinetic main restricted

Isso significa que quando você tem um detalhe do repositório como deb http://archive.ubuntu.com/ubuntu kinetic main no sources.list, ele obtém detalhes de pacotes de software armazenados em http://archive.ubuntu.com/ubuntu/dists/impish/main/

O codinome da distribuição é importante

Isso soa interessante? Aposto que sim.

Agora imagine se alguém está usando uma versão antiga e não suportada do Ubuntu como o Ubuntu 20.10 codinome Groovy Gorilla.

O arquivo sources.list conterá URL do repositório, como deb http://archive.ubuntu.com/ubuntu groovy main. E então isso se torna problemático porque se você visitar http://archive.ubuntu.com/ubuntu/dists URL, você não encontrará a pasta groovy aqui. Como o Ubuntu 20.10 não é mais mantido, sua pasta foi removida.

Como resultado, o Ubuntu mostrará um erro como 'arquivo de lançamento não encontrado' ou 'erro 404 repositório não encontrado'.

arquivo sources.list e diretório sources.list.d

Se você olhar para o diretório /etc/apt, notará um diretório chamado sources.list.d.

sources_5

A ideia é que o arquivo sources.list primário seja para os repositórios oficiais do Ubuntu e para quaisquer repositórios externos e PPA, você adicione um arquivo .list (com os detalhes do repositório) neste diretório sources.list.d.

Informações do repositório externo são adicionadas no diretório sources.list.d

Isso facilita o gerenciamento dos repositórios, pois você não atrapalha os repositórios padrão. Os repositórios externos podem ser facilmente desativados (adicionando # na frente dos detalhes do repositório) ou removidos (removendo seu arquivo .list correspondente).

Você pode usar a ferramenta gráfica Programas e atualizações para a mesma finalidade se você usar o Ubuntu desktop. As entradas na guia 'Ubuntu Software' vêm do arquivo sources.list e as entradas na guia Outros programas vêm dos arquivos no diretório sources.list.d.

Ferramenta Programas e atualizações do Ubuntu

O próximo passo

Isso está claro até agora? Você aprendeu muitas coisas "por trás das cortinas".

Se as entradas em sources.list estiverem incorretas ou duplicadas, seu sistema lançará erros quando você tentar atualizar seu sistema Ubuntu.

Como você está familiarizado com o conceito de gerenciamento de pacotes, repositório e sources.list, entender a causa raiz e corrigir os erros comuns de atualização no Ubuntu torna-se uma tarefa mais fácil. Você também terá uma melhor compreensão de como repositórios externos funcionam.

Ainda tem dúvidas ou perguntas? Por favor, deixe um comentário abaixo.

Última atualização deste artigo: 19 de january de 2023