From: Thadeu Lima de Souza Cascardo Date: Thu, 20 Mar 2008 22:19:45 +0000 (-0300) Subject: Descrição do que são gerenciadores de software X-Git-Url: http://git.cascardo.eti.br/?p=cascardo%2Fadmin.git;a=commitdiff_plain;h=7bbb0e62d91bfe2610bb887a1a5ca4a1e1bebe11 Descrição do que são gerenciadores de software O que são, o que fazem e os exemplos mais comuns de gerenciadores de software: rpm e dpkg. Um pouco sobre sua origem e formato. --- diff --git a/software/gerenciadores b/software/gerenciadores new file mode 100644 index 0000000..06cb5e0 --- /dev/null +++ b/software/gerenciadores @@ -0,0 +1,55 @@ +Gerenciadores de Pacotes + +Para tornar útil a informação contida em pacotes, é necessário um +software que faça verificações e produza os resultados esperados das +operações de instalação, remoção e atualização. Esse software é o +gerenciador de pacotes. Entre dois exemplos de gerenciadores de pacotes, +temos o rpm e o dpkg. + +Além de extrair os arquivos do pacote e copiá-los na árvore de +diretórios do sistema e executar as intruções pré e pós instalação, o +gerenciador de pacotes armazena os meta-dados em uma base de dados de +pacotes. Diferentes gerenciadores utilizam diferentes métodos de +armazenamento. O rpm, por exemplo, utiliza o BDB (Berkeley Database), +uma estrutura de dados de hash ou árvore que permite a rápida +recuperação dos dados em disco. O dpkg, em contrapartida, armazena as +informações em arquivos em um diretório e em um arquivo texto com o +status de cada pacote. + +O gerenciador de pacotes, geralmente, deve garantir a consistência do +sistema, impedindo a instalação de pacotes cujas dependências não +estejam instaladas ou impedindo a remoção de um pacote que é dependência +de outros ainda instalados. A verificação de que o sistema está íntegro +também pode ser feita, verificando que os arquivos no sistema são os +mesmos dos pacotes. Isso pode ser feito utilizando "hashes" ou "sums" +dos arquivos. Daí a importância de distinguir quais são arquivos de +configuração, já que esses podem ser modificados. Lembrando que essa +verificação não pode garantir segurança alguma do sistema, já que os +"hashes" também podem ser modificados por um eventual invasor. + +O gerenciador de pacotes permite, além de instalar, remover e atualizar +pacotes, a consulta a sua base de dados, permitindo verificar que +pacotes estão instalados e seus meta-dados, incluindo relações com +outros pacotes e arquivos. + +Os principais gerenciadores de pacote em sistemas que comumente utilizam +GNU e Linux são o rpm e o dpkg. Enumerar todas as alternativas só não +seria tão grande quanto enumerar as distribuições de GNU e Linux já que +boa parte delas utilizam justamente o rpm e o dpkg. + +O rpm foi criado pela Red Hat e é, ainda hoje, utilizado nas +distribuições que se baseiam ou se basearam nela. É também o formato de +pacote padrão do LSB (Linux Standard Base). Recentemente, ocorreu uma +iniciativa de modernizar o rpm. No entanto, essa iniciativa, chamada de +rpm5, não pretende manter compatibilidade com o formato padrão do LSB e +está adotando outros formatos, como o xar, cujos meta-dados são +descritos utilizando XML. + +O dpkg é o gerenciador de pacotes criado pelo projeto Debian. O formato +de seus pacotes são denominados deb, ao contrário do rpm, que é tanto o +nome do gerenciador quanto do formato. Os meta-dados do deb são +descritos em um formato RFC822, o mesmo dos cabeçalhos de e-mails, em +um arquivo tar armazenado em um arquivo ar, onde se encontra o arquivo +tar com os arquivos a instalar. Veremos em uma próxima seção como +extrair esses arquivos utilizando ferramentas facilmente encontradas em +sistemas diferentes do Debian. diff --git a/software/list b/software/list index 68bcc11..e8fe09e 100644 --- a/software/list +++ b/software/list @@ -1,3 +1,4 @@ introducao bibliotecas pacotes +gerenciadores