Instalar ou remover pacotes no LINUX hoje em dia é muito fácil, temos vários gerenciadores de pacotes para facilitar essa tarefa.
Se você iniciou agora como um novo usuário ou se você é um administrador de servidores LINUX, sabe muito bem que existem um grande numero de distribuições.
Então não deixe de ver o artigo abaixo para saber mais sobre distribuições LINUX e suas facilidades para utilização no seu desktop:
E se você estiver trabalhando na administração de servidores LINUX, dominar alguns gerenciadores de pacotes poderá ser necessário também é claro …
Então você sabe qual é a diferença entre Ubuntu, Fedora, OpenSUSE, Sabayon, ou Arch LINUX?
Se eu tivesse que responder essa pergunta de forma direta seria: O gerenciamento de pacotes.
Claro que não é apenas isso, mas você pode ler esse artigo aqui, vai te ajudar bastante.
Cada distro acima oferece um único método ( nem sempre único ) de instalação e manutenção em seus pacotes ( entenda pacotes como softwares).
Este guia é um passo a passo, contendo diversos exemplos de comandos para você executar tarefas básicas em cada um dos sistemas de gerenciamento de pacotes.
Você pode decidir qual é o melhor, claro que eu mesmo tenho o meu preferido e você irá descobrir qual é ao longo desse texto.
Vamos lá, vamos começar! Mesmo porque são 58 comandos para gerenciar pacotes no LINUX, melhor começar já!
1. Apt
apt resolve dependências para sistemas baseados em Debian, incluindo é claro o Ubuntu. Em conjunto com dpkg, o gerenciador de pacotes, Apt fornece uma maneira fácil de atualizar, instalar e remover software.
Sem o Apt, a manutenção de um sistema Debian seria como usar o Linux no início da década de 1990, quando “o inferno da dependência” era uma coisa real.
Apt tem uma sintaxe muito simples, ele está sendo reescrito para fornecer uma sintaxe ainda mais fácil.
Veja alguns exemplos aqui nesse artigo:
Dependendo de qual versão você está usando (Ubuntu 14.04 ou superior já incluem os novos comandos do APT).
Resumindo: Você poderá usar comandos diferentes para atingir o mesmo resultado.
Para atualizar os repositórios de software, use o seguinte comando:
1) sudo apt-get update
ou
2) sudo apt update
Para atualizar seus pacotes já instalados (softwares):
3) sudo apt-get upgrade
ou
4) sudo apt upgrade
Para uma atualização mais completa, que também tentará atualizar pacotes para a versão mais recente e remover dependências mais antigas ou não utilizadas, o comando é o seguinte:
5) sudo apt-get dist-upgrade
ou
6) sudo apt full-upgrade
O comando abaixo vai executar uma atualização dos repositórios e atualizar também os pacotes já instalados.
7) sudo apt-get update && sudo apt-get upgrade
ou
8) sudo apt update && sudo apt upgrade
Para instalar um software, o comando é:
9) sudo apt-get install nome_do_pacote
ou
10) sudo apt install nome_do_pacote
Para remover um pacote:
11) sudo apt-get remove nome_do_pacote
ou
12) sudo apt remove nome_do_pacote
Ao remover software do seu sistema usando o comando apt-get remove, o Apt faz todo o trabalho de remoção de dependências não utilizados.
Algumas dependências podem permanecer no seu sistema. Se você ficar incomodado com isso, poderá então remover os pacotes que não estão sendo mais utilizados pelo Apt, é só utilizar a opção autoremove conforme abaixo:
13) sudo apt-get autoremove
ou
14) sudo apt autoremove
Para procurar um pacote a ser instalado, use o apt-cache ou apt search, assim:
15) sudo apt-cache search termo_pesquisa
ou
16) sudo apt search termo_pesquisa
Apt atualmente não oferece a possibilidade de instalar um pacote de um URL, ou seja, o usuário deve encontrar e baixar o pacote a ser instalado por conta própria, utilizando nesse caso o dpkg.
É bom lembrar, que todos os comandos acima funcionam também na Distro DEBIAN. Na minha opinião o Apt é o melhor gerenciador de pacotes hoje.
Eu comecei a usar o Apt no Debian 2, e ele já funcionava muito bem.
2. YUM
YUM resolve dependências de pacotes para distros que utilizam o RPM. RPM foi criado pela REDHAT e é utilizado em diversas distribuições LINUX.
YUM é um sistema de gerenciamento de pacotes padrão incluído em algumas distribuições baseados no REDHAT, incluindo o Fedora, e CentOS.
A sintaxe do YUM é simples, e os usuários do Apt não terão nenhum problema para utilizar.
Veja mais exemplos de utilização no artigo:
Atualização dos repositórios do YUM é muito simples, é só utilizar a opção update, assim:
17) sudo yum update
Para instalar um pacote, pode usar a opção install do YUM.
18) sudo yum install nome_do_pacote
Da mesma forma, para remover um pacote, use o comando com a opção remove, assim:
19) sudo yum remove nome_do_pacote
Para procurar um pacote que será instalado, temos a opção search.
20) sudo yum search nome_do_pacote
O YUM não inclui um comando autoremove para encontrar e remover dependências não utilizadas.
Mas incluem um recurso para a instalação de um pacote a partir de uma URL, essa função não existe no Apt.
21) sudo yum install $url
3. Zypper
Zypper é outro gerenciador que resolve dependências para o sistemas que utilizam pacotes RPM.
Ele é o gerenciador de pacotes padrão para OpenSUSE e SUSE Linux Enterpise. ZYpp utiliza binários .rpm, assim como YUM, mas é um pouco mais rápido devido a ser escrito em C ++, já o YUM é escrito em Python.
ZYpp é muito fácil de usar, inclui atalhos de comando que podem ser usados em lugar do comando completo.
Veja mais exemplos de utilização no artigo:
No ZYpp para atualizar e fazer upgrades de todos os pacotes pode usar o comando abaixo com a opção update.
22) sudo zypper update
ou
23) sudo zypper up
Para instalar um pacote, temos a opção install ou simplesmente in.
24) sudo zypper install nome_do_pacote
ou
25) sudo zypper in nome_do_pacote
Para remover um pacote utilizando o ZYpp, use o comando abaixo, veja a opção remove ou rm.
26) sudo zypper remove nome_do_pacote
ou
27) sudo zypper rm nome_do_pacote
Para procurar um pacote que deseja instalar com o ZYpp, use a opção search conforme abaixo:
28) sudo zypper search nome_do_pacote
Como no YUM, não existe nenhum comando autoremove no ZYpp.
E como o Ubuntu ou DEBIAN, no OpenSUSE não tem como instalar um pacote a partir de uma URL.
4. DNF ou Dandified YUM
DNF é uma reescrita do YUM, simples assim, que utiliza recursos do ZYpp para resolver melhor as dependência.
DNF é o gerenciador de pacotes padrão para Fedora 22 ou superior, e deve se tornar o padrão do sistema no CentOS no futuro.
Veja mais exemplos de utilização no artigo:
Para atualizar todos os softwares com o DNF:
29) sudo dnf update
Para instalar um pacote utilizando o DNF:
30) sudo dnf install nome_do_pacote
Para remover um pacote:
31) sudo dnf remove nome_do_pacote
Para procurar um pacote que será instalado com o DNF:
32) sudo dnf search nome_do_pacote
Ao contrário do YUM e ZYpp, o DNF fornece o comando autoremove para procurar em seu sistema e remover dependências não utilizadas, para isso utilize simplesmente a opção autoremove do DNF, assim:
33) sudo dnf autoremove
E o legal do DNF é que ele também permite a instalação de pacotes a partir de uma URL:
34) sudo dnf install $url
5. Entropy
Entropy é o sistema de gerenciamento de pacotes padrão para Sabayon Linux, que é um derivado da distribuição Gentoo.
Entropy utiliza arquivos binários e também de código fonte através do sistema de gerenciamento de pacotes do Gentoo, o Portage.
Em resumo é o seguinte:
- Pacotes fonte são compilados em binários através do Entropy, usando o Portage.
- Entropy converte o binário construindo um pacote.
- Os pacotes do Entropy são adicionados aos repositórios do Sabayon.
- O usuário instala um arquivo binário através do Entropy.
Concluindo, não é simples como o Apt ou YUM.
Entropy é muito parecido na sintaxe com Apt, YUM, ZYpp e DNF, isso significa que é até um novato vai achar fácil de usar comandos do Entropy.
Para atualizar os fontes de repositórios de software do Entropy:
35) sudo equo update
ou
36) sudo equo up
Para atualizar todos os pacotes
37) sudo equo upgrade
ou
38) sudo equo u
Estes comandos podem ser usados ao mesmo tempo, assim:
39) sudo equo update && sudo equo upgrade
ou
40) sudo equo up && sudo equo u
Para instalar um pacote com o Entropy:
41) sudo equo install nome_do_pacote
ou
42) sudo equo in nome_do_pacote
Para remover um pacote:
43) sudo equo remove nome_do_pacote
ou
44) sudo equo rm nome_do_pacote
Para procurar um pacote a ser instalado com o Entropy:
45) sudo equo search nome_do_pacote
6. Pacman
Pacman é o gerenciamento de pacotes padrão para Arch Linux e seus derivados.
Ele não depende de sistemas ou interfaces para resolver as dependências, Pacman utiliza arquivos .pkg.tar.xz, que contém todas as informações necessárias para criar os pacotes.
Pense no pacman como um sistema para automatizar o processo de compilação manual de software a partir do código-fonte.
Pacman utiliza o programa chamado Yaourt, para instalar software não-oficial encontrados no Arch User Repository.
Veja mais exemplos de utilização no artigo:
Ao trabalhar com pacotes, podemos usar a flag “Sync” (S), que compara o seu sistema com o repositório de software, e para atualizar os repositórios de software usamos a opção (-y), assim:
46) sudo pacman -Sy
Para atualizar os pacotes do seu sistema rodando Arch Linux, você pode modificar o comando anterior, adicionando a opção (u):
47) sudo pacman -Syu
Para instalar um pacote, é necessário sincronizar:
48) sudo pacman -S nome_do_pacote
Para remover um pacote utilizando pacman utilize a opção (-R), seus arquivos de configuração use a opção (N), e todas as dependências não utilizadas, de forma recursiva, não instaladas pelo usuário, use (s).
49) sudo pacman -Rns
Para procurar um pacote que você deseja instalar com o pacman, sincronize e pesquise (s):
51) sudo pacman -Ss nome_do_pacote
Pacman não inclui um comando autoremove, no entanto, pode procurar e remover quaisquer dependências não utilizadas com o comando de consulta.
Exemplo: Este comando irá consultar o banco de dados (Q), verificar se há dependências órfãs (-t), restringir a pesquisa a dependências (-d), e não irá imprimir o processo (q), “para não mostrar na tela”.
52) sudo pacman -Rns $(pacman -Qtdq)
7. SNAP – A evolução dos gerenciadores de pacotes para LINUX
O gerenciamento de pacotes no LINUX tem evoluído muito.
Sem dúvida o Apt ainda é a opção mais completa, simplesmente porque é o gerenciador de pacotes para LINUX mais antigo de todos, ou seja, é o mais desenvolvido.
Porém, o UBUNTU anunciou que está disponível o SNAP, a partir da versão 16.04 LTS, mesmo o SNAP sendo muito novo ele promete ser muito versátil, principalmente para os desenvolvedores dos pacotes.
Administradores de servidores LINUX, usuários LINUX, sempre estão em busca de ferramentas que facilitem o dia a dia. Certo?
Eu pelo menos sou assim, se tenho uma ferramenta que facilita o meu trabalho, eu irei utilizar ela, por isso utilizo tanto o Apt.
É assim também, que os desenvolvedores estão pensando, e esse é um dos motivos da criação do SNAP, mais um gerenciador de pacotes para LINUX que promete muito.
Resumindo, é o mais novo gerenciador de pacotes para LINUX.
Ubuntu 16.04 LTS introduziu os pacotes tipo “Snap”, eles são uma nova maneira de instalar aplicativos no UBUNTU.
Pacotes do tipo Snap são totalmente diferentes dos pacotes instalados com os comandos Apt, apt-get e dpkg, que só vai permitir a instalação de pacotes .deb, padrão da distribuição DEBIAN.
Aplicações em Snaps são auto-suficientes, incluem todas as bibliotecas de que necessitam para funcionar.
Elas serão instaladas em seu próprio diretório e não vão interferir com o resto do seu sistema, aqui está a luta pelo fim das dependências de pacotes.
Nem todos os aplicativos estão disponíveis no SNAP, mas realmente será uma tendência para as próximas versões, e talvez seja uma opção a ser adotada por outras distribuições LINUX.
Veja mais exemplos de utilização no artigo:
Para procurar por um pacote snap utilize a opção find como abaixo:
53) snap find palavra_chave_do_pacote
ou
54) snap find | grep palavra_chave_do_pacote
Para instalar você tem a opção install, assim como em outros gerenciadores de pacotes.
55) sudo snap install nome-do-pacote
Você vai perceber que existe uma demora um pouco maior ao baixar os pacotes.
Você pode atualizar um pacote com o SNAP usando a opção refresh, conforme abaixo:
56) sudo snap refresh nome-do-pacote
Para você fazer uma lista dos pacotes instalados com o SNAP pode usar a opção list, assim:
57) snap list
Depois que você achar o nome do pacote, vamos imaginar que você queira remover um pacote, pode usar a opção remove do SNAP, veja o exemplo abaixo:
58) sudo snap remove nome-do-pacote
Conclusão
O Linux tem evoluído muito, e principalmente na questão de instalar, remover, e atualizar software.
Mas, se você for procurar por um padrão, terá um pouco de dificuldade para achar, é claro!
Porém é fato, que os pacotes RPM e DEB são os mais utilizados, sendo assim, foque no Apt e no YUM, mesmo já existindo alternativas para eles.
Com toda certeza é muito mais fácil você encontrar um servidor LINUX rodando CentOS ou DEBIAN, UBUNTU também já tenha a sua participação em servidores.
Pacotes DEB ainda é o padrão do UBUNTU, mas isso pode mudar logo, como já vimos nesse artigo, temos o SNAP agora como opção.
Qual gerenciador de pacotes é mais fácil para você? Você já tentou instalar um destes gerenciadores de pacotes fora da distro padrão? Deixe-nos saber nos comentários abaixo!