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, stretch, buster, sid) ou a classe de versão (oldstable, stable, testing, unstable) 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.