Gerenciamento de pacotes no Slackware e afins

AnexoTamanho
File gerenciamento-pacotes.tex7.79 KB
O gerenciamento de pacotes no slackware é uma tarefa simples mas que nem sempre é esclarecida aos novos usuários e usuárias do sistema quando começam a administrar uma máquina pela primeira vez. Sei que estarei sendo um pouco repetitivo num tema talvez já bem explorado em inúmeros outros tutoriais, mas aí vai.

Pacotes são arquivos que contém programas, arquivos de configuração e documentação. Distribuir um programa através de um pacote é a melhor maneira de controlarmos o que está instalado no servidor, pois existem comandos que cuidam da instalação, atualização e desinstalação de pacotes, enquanto que cada programa pode ter sua própria forma de ser instalado, o que pode criar umaconfusão. Forçar os programas a serem empacotados é uma forma de unificar a tarefa de instalação.

O Slackware tem um gerenciamento de pacotes muito simples:

Por exemplo, no caso do programa bzip2, o pacote é o bzip2-1.0.2-i486-5.tgz, onde

bzip2-1.0.2-i486-5.tgz
 |      |     |  |  |
 |      |     |  | extensão: formato tar.gz
 |    versão  |  |
 |            |  versão do pacote
 |            |
 |        plataforma
 |
nome do programa

A assinatura desse pacote é o arquivo bzip2-1.0.2-i486-5.tgz.asc e o checksum é o arquivo bzip2-1.0.2-i486-5.tgz.md5.

1 Baixar pacote

Este procedimento serve para baixar pacotes oficiais e não-oficiais do slack. Cuidado especial ao baixar coisas não-oficiais, pois nem sempre a qualidade e confiabilidade dos arquivos estão garantidas.

Supondo que você queira instalar um pacote oficial: vá até o Slackware Package Browser e faça uma busca por nome de pacote ou nome de arquivo. O resultado da sua busca será o .tgz correspondente. Baixe também o .asc e opcionalmente o .md5. Em seguida, efetue a verificação de integridade do arquivo. Se você ainda não tem a chave OpenPGP do slackware, baixe-a aqui ou num dos mirrors e depois importe-a.

Na sequência use o comando

gpg nome-do-pacote.asc

para verificar a assinatura e

md5sum nome-do-pacote | diff nome-do-pacote.md5 -

para verificar o checksum. Se tudo der certo você não receberá nenhuma mensagem de erro. Não se preocupe se o *gpg* der uma me nsagem do tipo

gpg: AVISO: Esta chave não está certificada com uma assinatura confiável!
gpg:        Não há indicação de que a assinatura pertence ao dono.

Se a assinatura estiver correta, não é preciso se preocupar. Para maiores informações, consulte o Guia de Criptografia.

2 Instalar pacote

Para instalar um pacote, digite

installpkg nome-do-pacote

onde nome-do-pacote é o arquivo que você baixou.

Exemplo:

installpkg bzip2-1.0.2-i486-5.tgz

Uma vez instalado, um arquivo com o nome do pacote (mas sem o .tgz) será criado em /var/log/packages (no nosso caso, /var/log/packages/bzip2-1.0.2-i486-5), que contém o nome de todos os arquivos que foram instalados no sistema. Essa informação é preciosa para quando ocorrer uma atualização ou desinstalação do pacote.

3 Remover pacote

Para remover um pacote, digite

removepkg nome-do-pacote

Exemplo:

removepkg bzip2-1.0.2-i486-5.tgz

O removepkg procurará se cada arquivo listado em /var/log/packages/bzip2-1.0.2-i486-5 também consta em outros pacotes, isto é, se o arquivo também está listado nos outros arquivos do /var/log/packages. Caso afirmativo, o arquivo é preservado, do contrário apagado. No fim da operáção, o arquivo /var/log/packages/bzip2-1.0.2-i486-5 é movido para o /var/log/removed_packages/

4 Atualizar pacote

Para atualizar um pacote, digite

upgradepkg nome-do-pacote

onde o nome-do-pacote é o nome do novo pacote, e não o do que está atualmente instalado.

Exemplo:

upgradepkg bzip2-1.0.2-i486-5.tgz

Isso fará com que o seu bzip2 seja atualizado para a nova versão.

5 Dependências

O sistema de pacotes do slackware só faz um tipo de checagem de dependências, que é verificar se os arquivos a serem removidos num pacote também fazem parte de outro pacote. Por isso, se você instalar um programa que depende de outros pacotes para funcionar mas que não estão instalados, você terá de caçar as dependências na mão. Se para muitos isso é um pesadelo, no caso de um servidor isso é feito de forma muito simples:

- Pode acontecer do programa não rodar e enviar uma mensagem de erro dizendo que tal biblioteca não foi encontrada, e aí é só procurar o pacote dela.

- Você pode traçar as dependências de um programa utilizando o *ldd*, que checa as bibliotecas contra o qual determinado programa foi compilado:

ldd nome-do-programa

onde nome-do-programa é o comando (caso ele esteja em seu $PATHhttp://focalinux.cipsga.org.br/guia/iniciante/ch-run.htm#s-run-path ou o arquivo do programa, por exemplo:

$ ldd /usr/bin/bzip2
        libbz2.so.1 => /lib/libbz2.so.1 (0x4002e000)
        libc.so.6 => /lib/libc.so.6 (0x4003d000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

Nesse exemplo as bibliotecas libbz2.so.1 (cujo arquivo é /lib/libbz2.so.1), libc.so.6 e /lib/ld-linux.so.2 são necessárias para o bzip2 funcionar e estão todas presentes no sistema. Se não tivessem, apareceria um Not found ao lado delas e aí é só procurar e instalar o pacote correspondente.

6 Ferramentas para o sistemas de pacotes

Existem ferramentas que facilitam um pouco a checagem de dependências e o download dos pacotes. São elas:

Existem outras ferramentas em http://www.slackwarebrasil.org/pt/projetos/. Para informações adicionais sobre o sistema de pacotes do Slackware, consulte a seção Package Utilities do Slackware Linux Essentials.

About this document ...

Gerenciamento de pacotes no Slackware e afins

This document was generated using the LaTeX2HTML translator Version 2002-2-1 (1.71)

Copyright © 1993, 1994, 1995, 1996, Nikos Drakos, Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999, Ross Moore, Mathematics Department, Macquarie University, Sydney.

The command line arguments were:
latex2html gerenciamento-pacotes.tex -nonavigation -notop_navigation -show_section_numbers -split 0

The translation was initiated by on 2007-08-22


2007-08-22

Nível:

Idioma: