Gerenciadores de Pacote e Repositórios

Aqui, tento explicar de forma clara e nem sempre muito técnica, o que são os Gerenciadores de Pacotes e como funcionam. Também, falo sobre o que são os Repositórios e como estes se relacionam com os Gerenciadores de Pacotes.

[ Hits: 8.690 ]

Por: Thiago Silva em 08/05/2019


Gerenciadores de Pacotes



Quando você migra de algum sistema proprietário para o GNU/Linux, ou algum outro sistema livre, é comum se deparar com expressões novas e que podem deixar novos usuários confusos. Aqui, falo brevemente sobre o que são os Gerenciadores de Pacotes e os Repositórios. Aproveitaremos o tópico para também esclarecer o que são dependências.

Gerenciadores de Pacotes

Provavelmente, a primeira impressão do Linux não é boa. As pessoas em geral têm medo de ter que lidar com linhas de comandos e todos aqueles códigos estranhos, que não parecem fazer sentido. Bem, esqueça isso! Há uns quinze anos no Linux era tudo "mato" e você tinha de fazer as coisas com trabalho braçal mesmo. Hoje, você até pode fazer assim, mas só se quiser.

Pacotes, em Linux são como pacotes na vida real. Você pega várias coisas que você quer mandar para alguém, envia e a pessoa recebe. Mas para utiliza-la precisa desempacotar. Do mesmo jeito, os desenvolvedores escrevem um aplicativo, por exemplo, e empacotam em um determinado formato e o disponibilizam na internet.

Você baixa e o desempacota para poder usar. Se você está tentando usar Linux há alguns dias, já deve ter se deparado com coisas estranhas que terminam com .tar.xz ou algo assim. Isso é um tipo de empacotamento "no cru". Isso quer dizer que você precisa desempacotar e compilar para a sua distribuição entender o que é aquele "treco".

Para a nossa alegria, distribuições amigas criaram os chamados Gerenciadores de Pacotes. Eles são programas feitos para instalar todos os arquivos que vêm no pacote. O legal desses programas é que eles facilitam muito a nossa vida.

Veja bem, se você usa Debian, Ubuntu, Linux Mint ou derivados, você pode baixar algum pacote no formato ".deb", dar dois cliques e instalar. Simples, não? Realmente é só isso. Se você é um usuário aventureiro, pode usar o terminal, abrindo-o na pasta em que baixou o arquivo ".deb" e digitando:

# dpkg -i nome-do-pacote.deb

O dpkg é o gerenciador de pacotes do Debian. Ele não baixa nada, então você deve utilizá-lo apenas para instalar pacotes que já estejam baixados e com as dependências resolvidas (falaremos sobre dependências logo adiante). O "-i" ali no código, indica que o pacote deve ser instalado. Você pode digitar "--help" se precisar de ajuda. É sempre bom verificar a documentação oficial e o bom material que circula na comunidade.

Já, se você usa Fedora, CentOS ou derivadas, você pode procurar os seus aplicativos preferidos no formato ".rpm". Assim como no ".deb", você só precisa dar dois cliques e instalar. Pode instalar pelo terminal com o comando, na pasta em que o arquivo está:

# rpm -ivh nome-do-pacote.rpm

Tudo que eu falei sobre o dpkg se aplica ao rpm (é sério, tudo mesmo). Aqui, eu coloquei mais dois comandos além do "-i". O "-v" indica que ele deve mostrar o que está sendo feito durante a instalação e o "-h" faz com que um progresso de instalação seja mostrado.

Eu gosto de ver o quê e como as coisas estão acontecendo, mas os parâmetros "-vh" são completamente opcionais (aqui você poderia escrever "-i -v -h" ou, como eu escrevi, "-ivh", tanto faz).

Digamos que você baixou um pacote e tentou instalar com o seu gerenciador de pacotes, mas daí ele dá erro por dependências não satisfeitas. O que fazer?

Olha, até tem como você ignorar as dependências. Por exemplo, no RPM, você pode escrever:

# rpm -ivh --nodeps nome-do-pacote.rpm

Então, ele vai instalar o pacote, tendo dependências resolvidas ou não. Mas isso é altamente desencorajado. Simplesmente porque as dependências, como o nome bem sugere, são pacotes ou bibliotecas que devem estar instalados previamente para que o pacote em questão funcione de forma adequada. De modo que, se você ignora as dependências, o programa pode apresentar mal funcionamento ou nem funcionar.

Há um tempo, eu diria que você precisa minerar as dependências na internet. Mas esse tempo já passou. Gerenciadores como o APT (Debian, Ubuntu etc.) e o YUM/RPM (Fedora, CentOS etc.) facilitaram muito o trabalho.

Se você quer instalar um pacote que tem dependências não resolvidas, você pode digitar:

# apt install nome-do-pacote.deb

...nas distribuições que "entendem" o ".deb", ou:

# yum* install nome-do-pacote.rpm

...nas distribuições que "entendem" o rpm.

Esses comandos irão verificar o pacote e resolver automaticamente todas as dependências (desde que você tenha uma conexão com a internet e espaço em disco, é claro), então você não precisa fazer mais coisa alguma além de confirmar a transação.

Note que, quando você der dois cliques e instalar, ele também deve resolver automaticamente as dependências. Considerando isso, as pessoas em geral usam pouco os comandos 'dpkg' ou 'rpm', dando preferência a 'apt' ou 'dnf/yum', respectivamente.

Naturalmente, existem muitos outros gerenciadores de pacotes, como o eopkg e o pacman. Se você entendeu o conceito aqui, está em condições de usar o seu gerenciador de pacotes através da documentação oficial da sua distribuição,

    Próxima página

Páginas do artigo
   1. Gerenciadores de Pacotes
   2. Repositórios
Outros artigos deste autor

Criação de Jogos com Godot

Arch Linux em modo UEFI com GNOME

Leitura recomendada

Metro, um breve tutorial

FeniX Linux - Conhecendo o que é Nosso

Software livre e a liberdade fundamental

Atualização do ZappWM 4.0 Beta (Window Manager)

Configurando DOTNET Core e instalando VSCode no Linux

  
Comentários
[1] Comentário enviado por removido em 09/05/2019 - 23:34h

Acho que o -i do dpkg -i nomedoprograma.deb significa -install(instalação no inglês),alguém me corrija se eu estiver errado.

[2] Comentário enviado por cizordj em 10/05/2019 - 10:16h


[1] Comentário enviado por noonan em 09/05/2019 - 23:34h

Acho que o -i do dpkg -i nomedoprograma.deb significa -install(instalação no inglês),alguém me corrija se eu estiver errado.


Sim é exatamente isso.

$ dpkg --help
Uso: dpkg [<opção> ...] <comando>

Comandos:
-i|--install <ficheiro .deb> ... | -R|--recursive <diretório> ...


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts