Sistema gestor de pacotes

Origem: Wikipédia, a enciclopédia livre.
Saltar para a navegação Saltar para a pesquisa
Synaptic, um dos frontends gráficos mais usados para gerenciamento de pacotes no Linux.

Um gerenciador de pacotes ou sistema de gerenciamento de pacotes é uma coleção de ferramentas de software que automatiza o processo de instalação, atualização, configuração e remoção de programas de computador para um sistema operacional[1] de uma maneira consistente.[2] É comumente usado em sistemas operacionais tipo Unix, que consistem de centenas de pacotes distintos, para facilitar a identificação, instalação e atualização do sistema.

Um gerenciador de pacotes manipula pacotes, distribuições de software e dados em arquivos. Os pacotes contém metadados, como o nome do software, descrição e seu propósito, número de versão, fornecedor, checksum e uma lista de dependências necessárias para o software funcionar corretamente. Na instalação, os metadados são armazenados em um banco de dados de pacotes local. Gerenciadores de pacotes normalmente mantém um banco de dados de dependências de software e informações de versão para evitar incompatibilidades de software e pré-requisitos ausentes. Eles trabalham próximos aos repositórios de software, gerenciadores de repositório binário e lojas de aplicativos.

São projetados para eliminar a necessidade de instalações e atualizações manuais. Isto pode ser particularmente útil para grandes empresas cujos sistemas operacionais são baseados em Linux e outros sistemas do tipo Unix, normalmente consistindo de centenas, ou mesmo milhares, de pacotes de software diferentes.[3]

Funções[editar | editar código-fonte]

Ilustração de um sistema gestor de pacotes, usado para baixar software novo. Uma ação típicamente requisitada ao usuário é reiniciar o computador.

Sistemas de gerenciamento de pacotes ficam incumbidos da tarefa de organizar todos os pacotes instalados no sistema. Funções típicas de um gerenciador de pacotes são:

  • Verificar checksums para ter certeza de que o pacote foi baixado sem erros;
  • Verificar a assinatura digital para autenticar a origem dos pacotes;
  • Atualizar um sistema e corrigir bugs (principalmente erros de segurança);
  • Agrupar pacotes de acordo com suas funcionalidades para reduzir confusões;
  • Gerir dependências para ter certeza de que um pacote só será instalado se todas as suas dependências também estiverem, o que resolveu o problema conhecido como Inferno de dependências.

Classificação geral[editar | editar código-fonte]

Há uma classificação básica que distingue os gerenciadores de pacote.

Gerenciadores de pacotes de baixo nível[editar | editar código-fonte]

São sistemas de gestão de pacotes que permitem realizar a instalação dos softwares de forma manual. Não possuem tratamento automático de dependências e não fornecem recursos de automação de manutenção de compatibilidade de versões, dificultando esta tarefa. Da mesma forma, este tipo de sistema geralmente mantem os pacotes após sua instalação, o que gera acúmulo de arquivos no sistema de arquivos, ocupando mais espaço em disco, caso o administrador do sistema não realize a remoção de pacotes já instalados. Os exemplos mais populares no mundo Unix são o Debian Package e Red Hat Package Manager.

Gerenciadores de pacotes de alto nível[editar | editar código-fonte]

São sistemas de gestão de pacotes que permitem realizar a instalação dos softwares de forma automatizada, manipulando as dependências sem que o administrador do sistema o faça manualmente. Possibilita maior facilidade de manutenção de compatibilidade de versões de softwares e também fornece recursos de automação de remoção de pacotes não mais utilizados, otimizando o espaço em disco ocupado pelos softwares instalados.

Geralmente utiliza ferramentas e formatos de pacotes dos sistemas gerenciadores de pacotes de baixo nível. Exemplos comuns são o Advanced Packaging Tool (APT) e o Yellowdog Updater, Modified (YUM).

Referências

  1. Opensuse - Gerenciamento de pacotes
  2. https://aptitude.alioth.debian.org/doc/en/pr01s02.html
  3. «Software Distribution». Dell KACE. Consultado em 11 de julho de 2012. Arquivado do original em 3 de outubro de 2015