Sistema gestor de pacotes

Um gerenciador de pacotes (português brasileiro) ou gestor de pacotes (português europeu) ou sistema de gerenciamento de pacotes (português brasileiro) ou sistema de gestão de pacotes (português europeu) é 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.

Synaptic, um dos frontends gráficos mais usados para gerenciamento de pacotes no Linux.

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

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

Gerenciadores de pacotes de baixo nível

editar

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

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. «Cópia arquivada». Consultado em 17 de abril de 2018. Arquivado do original em 17 de outubro de 2017 
  3. «Software Distribution». Dell KACE. Consultado em 11 de julho de 2012. Arquivado do original em 3 de outubro de 2015