fbpx Certificação Linux: Gerenciamento de Repositórios no Linux [Guia Básico]

Blog

Gerenciamento de Repositórios no Linux [Guia Básico]

📅 02/12/2021 ⏱ 6 min ✍️ Uira Ribeiro
Linux
Gerenciamento de Repositórios no Linux [Guia Básico]

Independente da distribuição que você usa, pode ser necessário a instalação de um novo repositório de software para fazer a instalação de um determinado pacote que não faz parte do repositório de software da distribuição.

Quando isso acontece, geralmente o fabricante do software fornece a URL do seu repositório para diferentes distribuições, para que ela seja instalada. Deve-se escolher a URL correta, de acordo com a distribuição Linux utilizada.

Repositórios no Debian/Ubuntu

A suite de ferramentas de instalação de Software nas distribuições baseadas em Debian utiliza os repositórios de software indicados no arquivo /etc/apt/sources.list e também no diretório /etc/apt/sources.list.d.

Por padrão, cada distribuição Linux mantém o seu repositório de software, indicando neste arquivo onde o Linux deve buscar pelos pacotes que a distribuição mantém.

Dito isto, é perfeitamente possível adicionar outros repositórios de software de terceiros, ou até mesmo mudar o repositório padrão para um repositório de software em testes "beta".

No Ubuntu, o arquivo sources.list tem o seguinte conteúdo:

$ cat sources.list | grep -v "#"deb http://security.ubuntu.com/ubuntu eoan-security main restricteddeb http://security.ubuntu.com/ubuntu eoan-security universedeb http://security.ubuntu.com/ubuntu eoan-security multiverse

A primeira palavra "deb" indica que se trata de pacotes binários de software, e a palavra "deb-src" indica que são pacotes de código-fonte.

Logo em seguida, deve-se indicar a completa URL do repositório, indicando o protocolo de acesso: http, https ou ftp.

Depois segue o nome da distribuição. No caso do Debian, isto pode ser o nome do código de versão (jessie, stretchbustersid) ou a classe de versão (oldstablestabletestingunstable) respectivamente.

Por último, indica-se o componente, que determinam o tipo de software:

  • MAIN: Contém todos os pacotes que estão completamente de acordo com o Debian Free Software Guilines.
  • CONTRIB: É um conjunto de programas de código aberto que não podem funcionar sem um elemento não livre.
  • NON-FREE: Contém programas os quais não estão (completamente) de acordo com estes princípios do Software Livre, mas que podem, contudo, ser distribuídos sem restrições. 
  • UPDATES: Esse repositório recebe as atualizações de pacotes, com correções e melhorias.
  • BACKPORTS: O repositório backports oferece “pacotes backports”. O termo refere-se a um pacote de algum software recente, que foi recompilado para uma distribuição mais velha, geralmente para Stable. 
  • SECURITY: As atualizações de segurança não são hospedadas na rede habitual de espelhos do Debian, mas em security.debian.org.
  • PROPOSED-UPDATES: depois de publicada, a distribuição stable é atualizada em aproximadamente de dois em dois meses. o repositório atualizações-propostas é onde as atualizações esperadas são preparadas (sob a supervisão dos gerentes de versão estável). 
  • DEBIAN MULTIMEDIA: Fornece pacotes para fins de edição de vídeo, imagem e codecs, entre outros.

Essa lista de componentes pode variar a depender da distribuição Linux.

Adicionando um repositório

Para adicionar um repositório, basta incluir uma linha com a sintaxe abaixo no arquivo sources.list:

deb https://servidor/caminho distribuição componente

Após configurar um repositório no arquivo sources.list, é necessário executar um dos comandos da suite de ferramentas do apt da sua preferência, para que a lista de pacotes do repositório seja baixada, e o repositório seja incorporado ao sistema:

$ apt-get update

Ou

$ aptitude update

Ou

$ apt update

O mesmo comando precisa ser executado se um repositório for removido do sistema.

Repositórios no Red Hat/CentOS (Yum)

O YUM também permite que repositórios de software sejam customizados no arquivo de configuração yum.conf.

Exemplo do /etc/yum.conf

[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=5
distroverpkg=centos-release

[fedora-us-3-core]

name=Fedora Core 3 — Fedora US mirror baseurl=http://SERVERNAME/fedora/fedora/$releasever/$basearch/RPMS.os

[fedora-us-3-updates]

name=Fedora Core 3 Updates — Fedora US mirror baseurl=http://SERVERNAME/fedora/fedora/$releasever/$basearch/RPMS.updates

Além do arquivo de configuração /etc/yum.conf, o YUM permite que você coloque arquivos de configuração de repositórios no diretório /etc/yum.repos.d/. Neste diretório ficam as configurações de cada repositório.

Os arquivos deste diretório tem a extensão ".repo".

$ ls -l /etc/yum.repos.d/
-rw-r--r--. 1 root root 1664 Ago 13  2018 CentOS-Base.repo
-rw-r--r--. 1 root root  630 Ago 13  2018 CentOS-Media.repo

Você pode adicionar repositórios extras ou de software em “beta-teste” na lista de repositórios do YUM.

Um arquivo de repositório geralmente tem um nome e aponta para uma URL na Internet. Veja o arquivo CentOS-Base.repo:

[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

Depois de adicionado um novo repositório no Yum, o comando updateinfo faz a atualização dos pacotes disponíveis nos repositórios:

$ yum updateinfoPlugins carregados: extras_suggestions, langpacks, priorities, update-motdamzn2-core/2/aarch64                                                                                                                                | 2.4 kB  00:00:00     amzn2extra-docker/2/aarch64                                                                                                                         | 1.8 kB  00:00:00     amzn2extra-php7.3/2/aarch64                                                                                                                         | 1.8 kB  00:00:00     Updates Information Summary: updatesupdateinfo summary done

Conclusão

A instalação de pacotes de terceiros pode ser feita através do gerenciamento de repositórios no Linux.

Aprenda muito mais sobre Linux em nosso curso online. Você pode efetuar a matrícula aqui. Se você já tem uma conta, ou quer criar uma, basta entrar ou criar seu usuário aqui.

Gostou? Compartilhe

Uira Ribeiro

Prof. Uirá Ribeiro

Chair do Board do Linux Professional Institute

Especialista Linux com mais de 20 anos de experiência.
Autor de 5 livros e mentor de mais de 14.000 alunos certificados.
20 certificações de alto nível, incluindo LPIC-3, CKA, RHCE e AWS Solutions Architect.

WhatsApp