Gerenciamento de pacotes no Slackware e afins
Anexo | Tamanho |
---|---|
![]() | 7.79 KB |
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:
- Os pacotes são arquivos no formato tgz
- Os pacotes podem ser baixados em http://www.slackware.com/pb/
- Todos os pacotes vem com checksum (um arquivo md5) e assinatura (arquivo asc), para verificação de integridade
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 afinsThis 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
Assunto:
Nível:
Idioma:
- Log in to post comments