Resolvendo dependências no Slackware com slackpkg

Se você já instalou uma boa quantidade de software em Linux, provavelmente já enfrentou aquele problema chato de dependências. Nesse artigo veremos, através de um exemplo prático, duas técnicas para se resolver dependências no Slackware, uma através do Slackpkg e outra por linkagem de bibliotecas.

[ Hits: 19.285 ]

Por: Davidson Rodrigues Paulo em 18/03/2004 | Blog: http://davidsonpaulo.com/


Introdução




Uma ferramenta muito útil para atualização do Slackware é o slackpkg. Existem muitos tutoriais sobre ele aqui no site, você deveria lê-los e dominar essa ferramenta se o Slack for a sua distro.

Referências:
Dependências são bibliotecas e programas que são necessários para o funcionamento de determinado software. Problemas desse tipo são comuns (tão comuns que, na verdade, nem deveriam ser encarados como problemas, mas algo rotineiro com o qual inevitavelmente teremos que lidar), e temos que aprender a lidar com eles.

Primeiramente, um problema de dependência geralmente é claro, ou seja, o programa que apresenta problema de dependências diz exatamente o nome do arquivo ou biblioteca que está faltando para que ele possa funcionar. Assim, com slackpkg em mãos, basta buscar o pacote que contém esse arquivo e então baixá-lo e instalá-lo. No slackpkg, para saber qual pacote contém determinado arquivo basta digitar:

slackpkg search [expressão]

Onde [expressão] pode ser o nome completo do arquivo ou apenas parte dele. Se você quiser, por exemplo, localizar qual pacote contém o arquivo libSDL-mt.so.5, bastaria digitar:

# slackpkg search SDL
ou ainda
# slackpkg search sdl

É melhor habituar-se a procurar pelo nome parcial do arquivo, pois, muitas vezes, encontramos pacotes que contém os arquivos que precisamos, mas com nomes diferentes. Nesses casos, ainda enfrentaremos outro problema. Já me aconteceu, por exemplo, de ser solicitado o arquivo libsoap-mt.so.5 enquanto no meu sistema havia sido instalado o arquivo libsoap.so.5 na pasta /usr/lib.

O que fiz nesse caso foi criar um link simbólico dentro de /lib com o nome libsoap-mt.so.5 apontando para libsoap.so.5 na pasta /usr/lib.

Assim, eu fiz com que o programa "pensasse" que estava utilizando um arquivo quando na verdade estava usando outro. Logicamente, esse procedimento só funciona se o arquivo que você tiver no seu PC for compatível com o arquivo solicitado pelo programa. Nesse exemplo acima, o comando utilizado foi, estando dentro de /lib:

# ln -s /usr/lib/libsoap.so.5 libsoap-mt.so.5

A linkagem é um procedimento rotineiro. Mas poucas vezes você vai precisar criar um link com um nome diferente do arquivo ao qual o link se refere.

Bom, se eu tiver conseguido utilizar uma linguagem clara o suficiente, acredito que pude dar uma ajuda a novatos em Slackware que venham a ter ou que estejam tendo problemas com dependências ao instalarem algum programa. Esses procedimentos são usados constantemente, pois, como disse, problemas com dependências são tão comuns que nem deveriam ser considerados problemas, mas apenas "ossos do ofício".

É isso aí. Um grande abraço a todos! Aguardo comentários. Eles podem me levar a melhorar esse artigo. E sempre que houver algum caso novo de resolução de dependências, publicarei aqui.

Falow povo!!!

   

Páginas do artigo
   1. Introdução
Outros artigos deste autor

Fundamentos do sistema Linux - Gerenciadores de inicialização

Fundamentos do sistema Linux - direcionadores

hdparm: Tire o máximo do seu HD

Debian-BR CDD: Mais um excelente trabalho brazuca

Vyatta, o concorrente livre dos roteadores Cisco

Leitura recomendada

Criando repositório oficial do Debian

Experimento: Transformando openSUSE 12.3 Tumbleweed em 13.2 Factory Milestone 0

Software envelhece?

Prevenindo atualização de pacotes no APT-GET

ERPs Open Source (parte 1) - Principais soluções

  
Comentários
[1] Comentário enviado por cvs em 18/03/2004 - 02:04h

É, algo que faltou no meu tutorial sobre o slackpkg.. hehehe :D

[2] Comentário enviado por lordello em 18/03/2004 - 10:36h

O artigo está muito bem didático, muito bom, gostaria só de acrescentar isso:

O problema atual "do Salckware" é que muitas pessoas de forma errada. O Slackware não possui um grande repositório de programas descente como o Debian, mas os usuários mesmo assim o instalam pensando que terão uma distro do mesmo porte ***em quantidade de software***. O LinuxPackages.net, o maior repositório que existe para Slackware, não funciona com o slackpkg, pelo menos não funcionava até o início do ano, somente os mirrors com a estrutura igual aos oficiais são suportados, e como os pacotes são criados muitas vezes de forma errada e as dependências muitas vezes são esquecidas de serem colocadas na lista de pacotes (PACKAGES.TXT), os programas como o slackpkg não conseguem encontrar a dependência. Isso não é um problema do Slackware e sim da comunidade, pois falta realmente um repositório confiável para Salckware.
O swaret é uma boa ferramenta também, ele segue a mesma filosofia do slackpkg...
Falow!

[3] Comentário enviado por danillofa em 18/03/2004 - 12:27h

Tipo o slapt-get usa os mirros do LinuxPackages.net e resolve as dependencias, e ainda possui um frontend grafico feito em gtk :D, se esse for o problema :)
é isso ai
flws :D

[4] Comentário enviado por removido em 17/02/2005 - 10:41h

Quem sabe se nos juntassemos e montassemos um mirror para isso com as principais dependecias

[5] Comentário enviado por blooddragon em 16/03/2010 - 12:39h

Cara meu slackpkg fica dando esse erro quando coloca comando abaixo
Alguem pode me ajudar

root@proxy:~# slackpkg install apache2

Looking for apache2 in package list. Please wait... /usr/libexec/slackpkg/core-functions.sh: line 45: tput: command not found
//usr/libexec/slackpkg/core-functions.sh: line 49: tput: command not found
DONE

No packages match the pattern for install. Try:

/usr/sbin/slackpkg reinstall|upgrade


root@proxy:~# /usr/libexec/slackpkg/core-functions.sh: line 52: tput: command not found


[6] Comentário enviado por davidsonpaulo em 16/03/2010 - 14:20h

bloodragon, o erro que você está tendo é causado pela falta do executável /usr/bin/tput. Para resolver o problema, instale o pacote "ncurses". Um abraço.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts