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,