Novo Transforme visitantes em clientes. Saiba mais

Gerenciamento de pacotes no Linux (rpm, yum, apt-get, dpkg)



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.


dpkg

Usado no Debian / Ubuntu

# dpkg [opções] nome_do_pacote.deb

É 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


apt

Usado no Debian / Ubuntu

# apt-get [opções] ou [comando] [nome do pacote]

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.


yum

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 .

rpm

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.

# yum list zip
Last metadata expiration check: 0:16:36 ago on Mon 27 May 2019 08:20:55
Available Packages
zip.x86_64 3.0-24.fc30 fedora

Vamos então instalar o pacote zip:


# yum install zip
Last metadata expiration check: 0:20:53 ago on Mon 27 May 2019 08:20:55 AM EDT.
Dependencies resolved.
===================================================================================
Package Architecture Version Repository Size
===================================================================================
Installing:
zip x86_64 3.0-24.fc30 fedora 264 k

Transaction Summary
===================================================================================
Install 1 Package

Total download size: 264 k
Installed size: 885 k
Is this ok [y/N]: y
Downloading Packages:
zip-3.0-24.fc30.x86_64.rpm 2.4 MB/s | 264 kB 00:00
-----------------------------------------------------------------------------------
Total 49 kB/s | 264 kB 00:05
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : zip-3.0-24.fc30.x86_64 1/1
Running scriptlet: zip-3.0-24.fc30.x86_64 1/1
Verifying : zip-3.0-24.fc30.x86_64 1/1

Installed:
zip-3.0-24.fc30.x86_64

Complete!

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


​Trabalhando com repositórios no yum:

# rpm [modo] [opções] [pacotes]

Vejamos as ações mais comuns de instalação, atualização e remoção de pacotes:

» Instalar novo pacote:

# rpm -i nome_do_pacote

» Atualizar um pacote :

# rpm -U nome_do_pacote

» Remover um pacote :

# rpm -e nome_do_pacote

Para refazer o banco de dados RPM:

# 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 .



Erik PerinErik Perin

Erik Perin

Este endereço de email está sendo protegido de spambots. Você precisa do JavaScript ativado para vê-lo.

Nossa Plataforma

Tenha foco no que realmente interessa, seu negócio.
Logotipo Oktopus

Conteúdo

Empresa Teresopolitana - Teresópolis - RJ - Brazil

Preferências de privacidade

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


Gerir preferências de cookies

  • Estritamente necessários Sempre Ativos

    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.

  • Desempenho Sempre Ativos

    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.

  • Funcionalidade Sempre Ativos

    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.

Voltar ao Topo
© Oktopus 2012 - 2021 | Todos os Direitos Reservados
Privacidade | Termos e Condições | Cookies