Gerenciadores de pacotes para o Slackware

Embora nem sempre sejam vistos com bons olhos, já que tiram um pouco o ar de simplicidade do sistema, existem também opções de gerenciadores de pacotes para o Slackware, que facilitam a vida de quem quer usá-lo sem precisar ficar fazendo downloads manuais, nem ficar se preocupando com dependências.

Slackpkg

O Slackpkg é um gerenciador de pacotes rudimentar, que oferece uma opção mais prática de usar em relação à tradicional receita de baixar os pacotes manualmente e instalá-los usando o installpkg. Ele permite instalar ou atualizar os pacotes de forma mais prática, com o gerenciador baixando as versões mais atuais dos pacotes solicitados a partir de um mirror pré-selecionado.

Apesar da popularidade, o Slackpkg não vem instalado por padrão, nem faz parte dos CDs ou do DVD de instalação. Você pode encontrá-lo dentro da pasta “extra/slackpkg/” no diretório do Slackware. No caso do 12.1, por exemplo, a url seria: ftp://ftp.slackware-brasil.com.br/slackware-12.1/extra/slackpkg/

Depois de baixar, instale o pacote usando o installpkg:

# installpkg slackpkg-2.70.3-noarch-2.tgz

Ao contrário do pkgtool, que trabalha apenas com pacotes locais, o slackpkg baixa os pacotes da Internet, assim com o apt-get. O primeiro passo é editar o arquivo “/etc/slackpkg/mirrors” e descomentar a linha com o mirror que será utilizado, como em:

ftp://ftp.slackware-brasil.com.br/slackware-12.1/

No arquivo você encontra uma lista com vários (muitos mesmo!) mirrors do Slackware, contendo os endereços do Slackware 12.1 (ou da versão mais recente, no momento em que estiver lendo) e também do slackware-current, onde você pode encontrar as versões de desenvolvimento (mais recentes, porém menos testadas) dos pacotes.

A limitação é que você pode escolher apenas um endereço na lista, escolhendo entre usar os pacotes da versão atual, do slackware-current ou instalar os pacotes contidos no CD-ROM. Se eventualmente o mirror escolhido estiver fora do ar, será necessário voltar ao arquivo, comentá-lo e desmarcar outro. Também não é possível usar repositórios com pacotes extras, como no apt-get.

Caso você deixe mais de uma linha descomentada, o slackpkg se recusa a funcionar, exibindo a mensagem:

Slackpkg only works with ONE mirror selected. Please, edit your
/etc/slackpkg/mirrors and comment one or more lines. Two or more
mirrors uncommented isn’t valid syntax.

Depois de se entender com o arquivo, o próximo passo é fazer com que o Slackpkg baixe a lista e os checksuns dos pacotes, o que é feito usando o comando:

# slackpkg update

A partir daí, você pode usar os parâmetros install, remove, upgrade e reinstall para gerenciar os pacotes. O install faz com que ele baixe e instale o pacote, o remove e o upgrade respectivamente removem e atualizam o pacote, caso exista uma nova versão ou atualização de segurança disponível e o reinstall faz uma reinstalação forçada do pacote, subscrevendo os arquivos. Esta última opção é útil para reparar arquivos corrompidos ou instalações incompletas.

Para instalar o bittorrent, por exemplo, você usaria:

# slackpkg install bittornado

Para baixar a última versão do Firefox:

# slackpkg upgrade mozilla-firefox

É possível também instalar ou atualizar categorias inteiras. O exemplo mais comum é o KDE, que é armazenado dentro da pasta kde/ do CD de instalação. Para instalar de uma vez todos os pacotes, o comando seria:

# slackpkg install kde/

É possível também baixar de uma vez todas as atualizações de segurança disponíveis, usando o comando:

# slackpkg upgrade patches

Se você não lembrar do nome do pacote que quer instalar, tiver apenas uma vaga idéia, é possível usar a opção “search” para procurar por pacotes, como em:

# slackpkg search alsa

O mesmo comando pode ser usado para procurar por arquivos e bibliotecas, nas situações onde você precisa de determinado arquivo, mas não sabe de qual pacote ele faz parte.

Apesar de parecer muito complexo, o Slackpkg é na verdade um shell script, com pouco mais de 500 linhas, o “/usr/sbin/slackpkg”, que utiliza dois arquivos adicionais com funções, localizados na pasta “/usr/libexec/slaclpkg”, totalizando menos de 1000 linhas. Você você pode dar uma olhada no código e até mesmo fazer alterações usando qualquer editor de textos.

Devido à filosofia de manter o código simples, o Slackpkg não resolve muitos erros sozinho, deixando sempre a cargo do dono verificar o que está errado. Também não existe nenhum tipo de checagem de dependências. Assim como no pkgtool, nada impede que você remova qualquer componente essencial do sistema. Pelo contrário, em muitas situações o slackpkg ajuda a pregar seu caixão, como ao usar o “slackpkg remove kernel”, que gera o seguinte diálogo:

Ou seja, ele se oferece para remover não apenas o pacote com a imagem do Kernel, mas também os módulos e os headers. O default é o “OK”, de forma que se você simplesmente pressionar Enter na pergunta, ele prossegue com a operação sem pensar duas vezes.

Ao tentar fazer algo similar usando o apt-get, por exemplo, você receberia a famosa mensagem:

Você está prestes a fazer algo potencialmente destruidor.
Para continuar digite a frase ‘Sim, faça o que eu digo!’

… onde você precisa digitar, literalmente, o ‘Sim, faça o que eu digo!’ para continuar. Ou seja, ele permite que você continue e faça o que quiser, mas a necessidade de confirmar a frase faz com que você pense duas vezes antes de quebrar o sistema.

Slapt-get

O concorrente mais tradicional do Slackpkg é o Swaret (https://freshmeat.net/projects/swaret/), um gerenciador que tenta emular a funcionalidade do apt-get e do urpmi (do Mandriva), oferecendo-se para baixar os pacotes desejados, com a opção de já verificar as famosas dependências, ou seja, se o pacote desejado precisa de outros para funcionar, com a opção de já instalar a turma toda de uma vez. O grande problema é que o projeto está inativo desde 2005, o que levou ao crescimento do Slapt-get, que oferece uma proposta similar.

Como o nome sugere, o Slapt-get se propõe a oferecer um sistema de download automático de dependências, emulando o funcionamento do apt-get e outros gerenciadores de pacotes, mas trabalhando em conjunto com os pacotes e os repositórios do Slackware. A grande vantagem sobre o Slackpkg é que ele é capaz de trabalhar com vários repositórios simultaneamente, incluindo repositórios não-oficiais como o Slacky, o que simplifica enormemente a instalação de aplicativos com muitas dependências, como o Mplayer.

Você pode baixar o Slapt-get no https://software.jaos.org/. Não existe problema em instalá-lo ou mesmo em usá-lo em conjunto com o Slackpkg ou com o installpkg/pkgtool, de forma que você pode ficar livre para testá-lo e voltar para o Slackpkg ou para o sistema manual se não gostar.

O primeiro passo é, como de praxe, baixar a versão correspondente à versão do Slackware em uso e instalar o pacote usando o installpkg, como em:

# installpkg slapt-get-0.9.12e-i386-1.tgz

Com ele instalado, o próximo passo é especificar os repositórios que serão utilizados, editando o arquivo “/etc/slapt-get/slapt-getrc”.

Por padrão ele inclui:

WORKINGDIR=/var/slapt-get
EXCLUDE=^kernel-.*,^glibc.*,.*-[0-9]+dl$,^devs$,^udev$,aaa_elflibs,x86_64
SOURCE=ftp://ftp.slackware.com/pub/slackware/slackware-12.1/
SOURCE=https://software.jaos.org/slackpacks/12.1/

A primeira linha indica o diretório de trabalho, onde ele armazenará os pacotes e outras informações baixadas. A segunda é uma precaução de segurança, destinada a evitar que alguns pacotes essenciais do sistema sejam removidos ou substituídos. As duas linhas finais são o que realmente interessa, ou seja, os repositórios.

Por padrão, ele inclui apenas o repositório principal do Slackware e o endereço do mirror onde estão disponíveis atualização do próprio Slapt-get. Como o repositório raiz do Slackware é lento devido ao grande volume de tráfego, é interessante adicionar o endereço de um dos mirrors do Brasil. Você pode adicionar também um dos mirrors do Slacky ou outro repositório não-oficial, como em:

WORKINGDIR=/var/slapt-get
EXCLUDE=^kernel-.*,^glibc.*,.*-[0-9]+dl$,^devs$,^udev$,aaa_elflibs,x86_64
SOURCE=ftp://ftp.slackware-brasil.com.br/slackware-12.1/
SOURCE=ftp://ftp.slackware.com/pub/slackware/slackware-12.1/
SOURCE=https://software.jaos.org/slackpacks/12.1/
SOURCE=https://darkstar.ist.utl.pt/slackware/addon/slacky/slackware-12.1/

Qualquer usuário mais antigo vai lhe alertar sobre o perigo de adicionar repositórios não-oficiais à lista, já que isso abre brechas para problemas diversos relacionados às versões e a diferenças nas dependências. Entretanto, se você já baixa pacotes dos mirrors não-oficiais regularmente, o argumento perde a força, já que não existe muita diferença entre baixar os pacotes manualmente e instalar, ou adicionar o mirror no Slapt-get e baixar os pacotes a partir dele. A principal dica é sempre prestar atenção nas mensagens e não misturar repositórios com pacotes para versões diferentes do Slackware.

Depois de salvo o arquivo, o próximo passo é atualizar as listas (o que pode demorar um pouco se você adicionou muitos mirrors), o que é feito usando o:

# slapt-get –update

A partir daí, você instalar novos programas usando o “slapt-get –install”, como em:

# slapt-get –install httpd

Apesar do nome não sugerir semelhança, o “httpd” nada mais é do que o pacote do Apache2. Se você ativar o serviço depois de instalado, usando os comandos:

# chmod +x /etc/rc.d/rc.httpd
# /etc/rc.d/rc.httpd start

… e tentar acessar o endereço IP da sua máquina a partir de outro PC da rede, usando o navegador, vai receber o “It works” do Apache, mostrando que o servidor está realmente ativo.

Para remover, use o “slapt-get –remove”, como em:

# slapt-get –remove httpd

O Slapt-get tornaria a instalação do Mplayer do exemplo anterior muito mais simples. Desde que você tenha adicionado um dos mirrors do Slacky no slapt-getrc, você poderia instalá-lo diretamente, usando o:

# slapt-get –install mplayer

O Slapt-get é capaz de checar as dependências e instalar junto os outros 12 pacotes:

Reading Package Lists… Done
The following NEW packages will be installed:
amrnb amrwb faac sqlite libsndfile jack-audio-connection-kit lame libmpcdec
speex twolame x264 xvidcore mplayer
0 upgraded, 13 newly installed, 0 to remove and 0 not upgraded.
Need to get 16.8MB of archives.
After unpacking 50.2MB of additional disk space will be used.

O Slapt-get é capaz também de atualizar o sistema, baixando todas as atualizações que estiverem disponíveis, o que simplifica muito a administração do sistema, já que você não precisa mais baixar e instalar os pacotes da pasta “patches/packages/” manualmente.

Para isso, rode o “slapt-get –update”, para que ele atualize as listas de pacotes e em seguida o “slapt-get –upgrade”, como em:

# slapt-get –update
# slapt-get –upgrade

É possível também usar o Slapt-get para atualizar o sistema, atualizando para uma nova versão. Para isso, você precisaria editar o arquivo slapt-getrc, alterando a versão de todas as entradas da lista (de “12.0” para “12.1”, por exemplo) e em seguida rodar o “slapt-get –dist-upgrade”, como em:

# slapt-get –update
# slapt-get –dist-upgrade

É possível também fazer buscas nos nomes dos pacotes usando a opção “–search”, ou ver uma lista de todos os pacotes disponíveis, usando a opção “–list” e a lista dos pacotes instalados usando a “–installed”.

Você pode ver uma lista rápida das opções disponíveis usando o “slapt-get –help” ou ver a documentação completa acessando a pasta “/usr/doc/slapt-get-$versao”

Ver Mais

Esta postagem foi modificada pela última vez em 23/03/2011 14:36

Postagem relacionada