On Sat, Aug 21, 2010 at 6:35 PM, Psycho Mantys <[email protected]> wrote:
> Em 21 de agosto de 2010 17:43, Igor <[email protected]> escreveu:
>> olá,
>>
>> vc pode descobrir qual pacote esse binário pertence:
>>
>> $ grep -i programabixado /var/log/packages/*
>>
>> Atualizações de pacotes algumas vezes geram atualizações de dependências, 
>> talvez seja este o seu problema.
>>
>> ou tente "whereis programa" e "ldd /local/do/programa"
> ######################################################################################################
>
> Acho que isso funciona:
>
> find -L . -type l -exec rm -rf {} ';'
>
>
> Só tenha cuidado que eu não dou garantias e seguros xD.

Ou só dá um "-ls" ou "-print" no find ao invés do "-exec" para só
mostrar o nome do arquivo e não fazer nada. :)

OFFTOPIC: Se quiser remover coisas com o find, tu pode só passar um
"-delete" ao invés do exec. O único cuidado é com a ordem dos comandos
do find, ou seja:

- "find /tmp -delete -type f" vai excluir TUDO no /tmp, pois o -delete
vem antes do filtro que pega apenas os arquivos (-type f)
- "find /tmp -type f -delete" vai excluir apenas os arquivos no /tmp,
pois o filtro é feito antes.


Voltando ao assunto da thread, tu pode usar o find com o ldd e grep
para saber quais os binários que tem alguma biblioteca faltando
(cuidado que alguns usam wrappers para definir o LD_LIBRARY_PATH e
executar um binario tipo firefox.bin) e pode usar o comando que o
psycho passou para descobrir links quebrados.

O comando para achar as bibliotecas que faltam pode ser feito assim:
find -L /bin \! -type d | while read f; do ldd $f | grep -q "not
found" && echo $f; done

OBS: "\! -type d" quer dizer "tudo que não for um diretório". Os
filtros do find podem receber um operador lógico de negação, neste
caso o ! que tem que ser "escapado" (barra invertida) ou colocado
entre aspas/apóstrofos.

Qualquer coisa, "man find" e "info find" devem ajudar.

-- 
GUS-BR - Grupo de Usuários de Slackware Brasil
http://www.slackwarebrasil.org/
http://groups.google.com/group/slack-users-br

Antes de perguntar:
http://www.istf.com.br/perguntas/

Para sair da lista envie um e-mail para:
[email protected]

Responder a