No Linux, programas são bem mais do que simples executáveis. Eles são compostos por diversos arquivos, incluindo bibliotecas, traduções, documentação, etc. E como a instalação e remoção de cada um desses arquivos se tornaria uma tarefa muito complicada e trabalhosa, os programas acabam sendo organizados em pacotes: "arquivões" que contêm não apenas os componentes necessários para executar o programa, mas também scripts e metadados para a correta instalação e categorização deles.
Apesar de facilitar muito a vida de administradores de sistemas, os pacotes sozinhos também geram uma certa complicação. Muitos pacotes possuem dependências, ou seja, precisam que outros pacotes sejam instalados ou removidos antes deles. E para não termos que resolver todos esses conflitos manualmente existem os gerenciadores de pacotes.
A diferença básica das distribuições linux reside no gerenciador de pacotes que ela usa.
Lembre-se que existe 6 principais vertentes de distribuições linux e, cada uma delas, possui seus próprios gerenciadores de pacotes nativos:
Distribuição |
Gerenciadores de pacotes |
Tipo de pacote padrão |
Debian |
apt | dpkg |
.deb |
Ubuntu |
apt | dpkg |
.deb |
Zorin OS |
apt | dpkg |
.deb |
RedHat |
yum | rpm |
.rpm |
Fedora |
yum | rpm |
.rpm |
CentOS |
yum | rpm |
.rpm |
Suse |
yast | zypp |
.rpm |
Existem ainda alguns outros gerenciadores de pacotes não nativos que você pode usar: dnf, pacman, snap... Mas isto é assunto para outro momento.
O gerenciamento de pacotes é uma excelente maneira de distribuir, instalar e desinstalar software.
Um pacote é um arquivo que contém informações e arquivos (executáveis, binários, de configuração) necessários para que o gerenciador de pacotes possa manter os programas como também os demais arquivos necessários de um determinado aplicativo. Em outras palavras, um pacote é um programa compilado.
Vejamos agora os gerenciadores de pacotes mais importantes.
Usado no Debian / Ubuntu
É o utilitário responsável pelo gerenciamento de pacotes em sistemas Debian e seus derivados. Ele mantém as informações dos pacotes instalados basicamente nos arquivos /var/lib/dpkg/available e /var/lib/dpkg/status. Estes arquivos contém a lista de pacotes disponíveis e status, respectivamente.
Opções mais frequentes:
Opção |
Descrição |
-c pacote |
(content) Lista os arquivos contidos no pacote.deb |
-i pacote |
Instala um pacote novo ou atualiza um pacote já instalado. |
-l |
Lista todos os pacotes instalados no sistema |
-l pacote |
Procura um pacote instalado com o nome desejado |
-L pacote |
Mostra o local dos arquivos instalados por um pacote |
--p pacote |
Mostra detalhes sobre o pacote (versão, dependências, arquitetura). |
--purge pacode |
remove todo o pacote em questão, inclusive configurações |
-r pacote |
remove todos os arquivos do pacote, exceto configurações |
-s pacote |
mostra o status de um pacote instalado |
-S arquivo |
procura (Search) por um arquivo nos pacotes instalados |
--unpack pacote |
desempacota um pacote, mas não instala |
--configure pacote |
configura um pacote não instalado |
dpkg-reconfigure pacote |
instalar pacote como se fosse a primeira vez |
Usado no Debian / Ubuntu
O comando apt-get é um gerenciador avançado de pacotes. Ele pode utilizar arquivos locais ou remotos para realizar instalação ou atualização de pacotes. Desta maneira é possível atualizar todo o sistema debian via ftp ou http. Este gerenciador também mantém informações do pacotes e suas dependências.
As configurações do apt-get ficam em /etc/apt/apt.conf
O arquivo /etc/apt/sources.list contém os locais onde o apt-get encontrará os pacotes, a distro verificada (stable, testing, unstable, woody, sarge) e a seção que será copiada (mais, non-free, contrib, non-US)
O apt-get utiliza uma lista de pacotes para verificar se os pacotes existentes no sistema precisam ou não ser atualizados. A lista mais nova de pacotes é copiada através do comando apt-get update
As opções mais frequentes do apt-get são:
Opção | Descrição |
-d |
baixa os arquivos mas não instala. É util para baixar grande volumes de pacotes para posterior instalação |
-s |
simula a instalação dos pacotes, mas não realiza modificações |
-y |
responde afirmativamente por todas as perguntas feitas durante o processo de instalação/remoção |
O comandos mais frequentes usadas com o apt são:
Comando |
Descrição |
update |
atualiza a lista todos os pacotes disponíveis |
install pacote |
instala determinado pacote pelo nome |
remove pacote |
desinstala determinado pacote pelo nome |
remove --purge pacote |
desinstala e remove completamente o pacote |
upgrade |
atualização segura do sistema (remove versões antigas do kernel) |
Vejamos alguns exemplos:
Antes de mais nada, é importante rodar :
# apt-get update
Este comando não atualiza a versão do seu linux, apenas lista os softwares e versão de kernel.
Para atualizar a VERSÃO do seu linux :
# apt dist-upgrade
Exemplo: mostrar informações completas sobre pacote específico :
# apt show nome-pacote
Exemplo: procurar pacotes a partir de parte do nome :
# apt-cache search nome-pacote
Exemplo: mostrar detalhes mais minuciosos sobre pacote:
# apt-cache showpkg nome-pacote
Exemplo: mostrar as dependências necessárias para instalar pacote:
# apt-cache depends nome-pacote
apt-cache não faz alterações no sistema, mas provê resultados interessantes para o administrador tomar decisões referente ao gerenciamento de pacotes.
Usado no RedHat / Fedora / Centos
# yum [opções] pacote
Ferramenta utilizada para gerenciar pacotes em distros que utilizam RPM, é similar ao apt. Ele necessita que seja feita configuração dos repositórios de pacotes no arquivo de configuração yum.conf
Além de trabalhar com repositórios remotos, também serve para instalar, remover e manter pacotes (RPM). Comandos mais comuns:
Comando |
Finalidade |
list |
lista todos os pacotes disponíveis (posso usar junto com greep) |
check-update ou list updates |
verificar se há pacotes disponíveis para update |
update |
faz o update do seu SO, incluindo kernel e grub |
upgrade |
mesmo que updade, mas remove pacs marcados como obsoletos |
install pacote |
instala o pacote e suas dependências |
info pacote |
apresenta informações básicas de um determinado pacote |
whatprovides nome-comando |
verifica qual pacote possui determinado comando |
remove pacote |
remove pacote específico, mas mantém configurações |
autoremove pacote |
remove completamente o pacote, inclusive configurações |
yumdownloader pacote |
baixa sem instalar |
Vejamos exemplo simples de uso do yum:
Arquivo / diretório |
Descrição |
/etc/yum.confg |
configurações principais |
/var/cache/yum |
onde arquivos são baixados |
/var/log/yum.log |
log de instalação realizadas |
/etc/yum.repos.d |
arquivos .repo que mostram os repositórios do yum |
o YUM geralmente NÃO FAZ atualização de versão DISTRO .
Usado no RedHat / Fedora / Centos
Verificar se programa chamado zip está instalado. Se retornar Available Packages é porque não está instalado. Se retornar Installed Packages é porque está instalado.
Vamos então instalar o pacote zip:
Repare que agora, ao rodar a opção list, o programa vai aparecer como instalado no sistema:
# yum list zip
Last metadata expiration check: 0:21:17 ago on Mon 27 May 2019 08:20:55 AM
Installed Packages
zip.x86_64 3.0-24.fc30 @fedora
Vejamos as ações mais comuns de instalação, atualização e remoção de pacotes:
# rpm -i nome_do_pacote
# rpm -U nome_do_pacote
# rpm -e nome_do_pacote
# rpm --initdb
# rpm --rebuilddb
As opções de consulta de pacotes mais frequentes:
Opção |
Descrição |
-a |
lista todos os pacotes instalados no sistema |
-f arquivo |
lista o nome do pacote que contém o arquivo procurado |
-p pacote |
mostra se um determinado pacote está instalado |
-q pacote |
consulta se pacote está instalado |
-i pacote |
mostra informações extras sobre um determinado pacote |
-l pacote |
mostra lista dos arquivo que um pacote contém |
-R pacote |
mostra lista de dependências que um pacote necessita para ser instalado |
As opções adicionais de instalação e atualização de pacotes mais frequentes são:
Argumento |
Descrição |
--force |
força a instalação de um pacote e seus arquivos, mesmo se ele já estiver instalado. |
-h |
mostra o progresso da instalação |
--nodeps |
desabilita a checagem de dependências para a instalação de um pacote |
-v |
mostra informações extras durante a instalação e atualização dos pacotes (verbose) |
-vv |
mostra muito mais informações durante a instalação e atualização dos pacotes. Geralmente utilizada por desenvolvedores. |
RPM é bem menos usado, pois as dependências precisam ser baixadas manualmente, por exemplo .
Quando visita um website, este pode armazenar ou recolher informações no seu navegador, principalmente na forma de cookies. Esta informação pode ser sobre si, as suas preferências ou o seu dispositivo e é utilizada principalmente para fazer o website funcionar conforme o esperado. A informação normalmente não o identifica diretamente, mas pode dar-lhe uma experiência web mais personalizada.
Uma vez que respeitamos o seu direito à privacidade, pode optar por não permitir alguns tipos de cookies. Clique nos cabeçalhos das diferentes categorias para saber mais e alterar as nossas configurações predefinidas. No entanto, o bloqueio de alguns tipos de cookies pode afetar a sua experiência no website e os serviços que podemos oferecer. Para mais informações, acesse a nossa página de Política de Privacidade
Estes cookies são necessários para que o website funcione e não podem ser desligados nos nossos sistemas. Normalmente, eles só são configurados em resposta a ações levadas a cabo por si e que correspondem a uma solicitação de serviços, tais como definir as suas preferências de privacidade, iniciar sessão ou preencher formulários. Pode configurar o seu navegador para bloquear ou alertá-lo(a) sobre esses cookies, mas algumas partes do website não funcionarão. Estes cookies não armazenam qualquer informação pessoal identificável.
Estes cookies permitem-nos contar visitas e fontes de tráfego, para que possamos medir e melhorar o desempenho do nosso website. Eles ajudam-nos a saber quais são as páginas mais e menos populares e a ver como os visitantes se movimentam pelo website. Todas as informações recolhidas por estes cookies são agregadas e, por conseguinte, anónimas. Se não permitir estes cookies, não saberemos quando visitou o nosso site.
Estes cookies permitem que o site forneça uma funcionalidade e personalização melhoradas. Podem ser estabelecidos por nós ou por fornecedores externos cujos serviços adicionámos às nossas páginas. Se não permitir estes cookies algumas destas funcionalidades, ou mesmo todas, podem não atuar corretamente.