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 restricted
deb http://security.ubuntu.com/ubuntu eoan-security universe
deb 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 updateinfo
Plugins carregados: extras_suggestions, langpacks, priorities, update-motd
amzn2-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: updates
updateinfo 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