No mundo do GNU/Linux, os programas, bibliotecas, documentação e código-fonte geralmente vêm em pacotes. Pacotes, a grosso modo, são arquivos compactados que, com uma ferramenta específica, ao serem descomprimidos, instalam os recursos neles contidos.
Assim, para instalar um pacote num sistema baseado no Debian, você usaria o apt-get, para baixá-lo e instalá-lo da Internet ou o dpkg -i, se você o tivesse localmente; Num sistema baseado no Red Hat ou Fedora, o comando para instalar um pacote via internet é o urpmi e, para instalá-lo localmente, você usaria o rpm.
O formato de pacotes do Slackware é o tgz. Esse é um dos formatos mais simples que existem pois, se para criar um .deb ou .rpm, é necessário usar programas especiais, um pacote .tgz é simplesmente os arquivos que serão instalados em uma árvore de pastas que imita a estrutura de pastas do sistema com mais alguns arquivos de controle compactados no formato .tar.gz, mas com sua extensão mudada. Assim, não é necessário nenhum programa especial para criar um pacote do Slackware além de um bom editor de textos e o famoso tar -cxvf.
Outra característica dos pacotes do Slackware é que eles não possuem controle de dependências. Calma, não vai se alegrando ainda, eu explico. Se você vai instalar um pacote .deb ou .rpm, o sistema, antes de instalar o pacote, verifica se já tem todos os demais pacotes necessários para que aquele pacote funcione antes de instalá-lo. Caso não tenha, ele baixará ou pedirá as mídias necessárias para fazer isso antes de usar o pacote propriamente dito. O que parece uma comodidade pode, muitas vezes, se tornar um pesadelo. Já ouvi relatos de pessoas que queriam simplesmente remover o amaroK num sistema Debian e o apt anunciou que removeria o KDE inteiro! No Slackware, isso não acontece. O fato do Slackware não ter dependências não significa que você pode instalar um programa e já sair usando; Muitas vezes, você instala um programa e ele não roda. Então, é necessário descobrir as bibliotecas que estão faltando eos pacotes que as contém. Isso parece assustador, mas você verá que é bem simples.
Obtendo pacotes
Existe um projeto de se fazer um controle de dependências para os pacotes tgz. Alguns desenvolvedores colocam um arquivo texto padronizado com as dependências em seus pacotes, mas esse arquivo é simplesmente ignorado pelo sistema. Da mesma forma, existem projetos para se fazer um instalador de pacotes baseado na Web para o Slackware, tanto que o brasileiro Peter Punk teria desenvolvido o famoso Swaret, que agradou até o Patrick Volkerding mas, no momento, isso não existe oficialmente, use por sua conta e risco!
Assim, você deve pesquisar os pacotes que deseja na Internet. As duas maiores fontes de pacotes Slackware que existem atualmente são o
www.linuxpackages.net
e o
www.slackware.it
Se não estiver nesses dois ou no site do desenvolvedor, não existe.
Uma vez que o pacote tenha sido baixado, vá para o modo texto (tava esperando o quê?), vá para a pasta onde você baixou o pacote (usando o comando cd) e digite:
# installpkg nome-do-arquivo.tgz
E aperte <ENTER>. Se o nome for muito grande, você pode digitar as primeiras letras e apertar <TAB> que o sistema o completa para você. Após você retornar para o prompt, você pode ter certeza que seu pacote foi instalado. Se algum ícone foi criado em algum lugar, selecione-o e inicie o aplicativo que você instalou.
A propósito, isso deve ser feito como root, sim?
Listando, Removendo e Atualizando pacotes
No Slackware, para cada pacote instalado, é criado um arquivo de referência em /etc/logs/packages. Sem você der um ls nessa pasta, você terá uma lista dos pacotes que possui.
Remover um pacote é simples. Primeiro, você deve descobrir o seu nome correto. Para tal, digite:
$ ls /etc/log/packages | grep <nome do pacote>
Onde <nome do pacote> é alguma referência ao que você quer desinstalar, por exemplo:
$ ls /etc/log/packages | grep blender
Isso vai nos dar o nome correto do pacote do editor de animações Blender.
Para desinstalar, use o comando
# removepkg <nome completo do pacote>
Isso vai remover o pacote e todos os seus arquivos do sistema. Note que não há uma trava. Por exemplo, se você digitar algo como
# removepkg kernel-generic-2.6.17.13-i486-1.tgz
Você simplesmente irá apagar o kernel do sistema e o Slack não vai fazer nada para impedí-lo! O que parece ser algo desastroso pode ser uma salvação, tanto que essa “remoção do kernel” é ensinada pelo Lucas Timm em um artigo onde ele ensina a como atualizar o kernel do Slackware 11 sem precisar recompilá-lo.
Para atualizar um pacote para sua versão mais recente, o mais recomendado é que você o desinstale com o removepkg e instale a nova versão com o updatepkg. No entanto, você também pode usar o comando updatepkg para fazer isso.
Uma alternativa gráfica
Se você não gostar de usar installpkg, removepkg e updatepkg, pode usar o…
# pkgtool
Ele abre um menu gráfico onde você pode, com o teclado, selecionar os pacotes que deseja e o que quer fazer com eles.