Instalando pacotes no Slackware

No mundo do GNU/Linux, os programas, bibliotecas, documentação e códigofonte 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.

Publicado em Slackware. 5 Comments »

5 Respostas to “Instalando pacotes no Slackware”

  1. olavo augusto Says:

    Muito bom! Simples e completo no que se propos a fazer. Era o que precisava e foi tudo que usei, com dicas nesse nível faremos, sem excesso, bom textos.
    Saudações

  2. Douglas Ritter Says:

    Concordo com o comentário! São de instruções como essas que o Linux tá precisando. Simples, bem detalhado na explicação e completo.

  3. Bruno Crespo Says:

    Bom conteúdo. Inicio a utilização do Slackware com fundamentos.

    Parabéns.

  4. Luis Teixeira Says:

    excelente texto, mas como resolver o problema das dependências? onde encontra-las?
    o site http://www.linuxpackages.net, está fora

  5. joao marcelo Says:

    tive esse mesmo problema de dependências quando migrei do Ubuntu para Slack não tinha mais o “apt-get” hehehe,
    mas depois que conheci o slackbuilds.org não sofri mais,
    já tem tudo pronto de tudo que nós precisamos.
    a única coisa chata era ficar baixando, extraindo, instalando tudo na mão,
    pra isso criei um script que faz tudo automaticamente,
    se quiser pode dar uma olhada, fiz um tutorial no meu blog:
    http://programmertask.blogspot.com.br/2014/03/slackbuildsdownloader.html
    de como usar o script
    o código está em https://github.com/futrica/slackbuilds_downloader
    sinta se a vontade de ajustar para sua necessidade, se melhorar por favor me mande!😀

    abraço.


Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: