Duas últimas observações...

recomendo que o script seja executado como root por conta de um usuário
comum não poder acessar certos diretórios e por fim, caso deseje
eliminar os symlinks encontrados, não é tão necessário dar cabo daqueles
localizados em /dev a não ser que tenha certeza do que está fazendo. É
muito útil por exemplo manter um link chamado "modem" apontando para um
modem portátil que quando plugado fique como /dev/ttyX, facilitando o
uso de programas de discagem etc., mas removendo tal dispositivo o link
parecerá inválido ;)


Klebson Porfirio                                               DCE-UFAL
2009
E-mail/MSN: [email protected] - Jabber: [email protected]
Usuário Linux #481658                       GnuPG-Key ID: 1F293FA6
----------------------------------------------------------------------------------------------
{DEBIAN[GNU(LINUX)]}5.0


Em Sex, 2009-02-06 às 10:03 -0300, Klebson Porfirio escreveu:

> Hoje me deparei com um problema um tanto recorrente àqueles que, como
> eu, costumam instalar muitas aplicações a partir dos fontes (mas não
> se limita a estes casos) para testar novos programas ou por pura
> curiosidade. O problema ao qual me refiro é a grande quantidade de
> links simbólicos que por um motivo ou outro não são excluídos após a
> desinstalação dos programas e que muitas vezes acabam fazendo com que
> dada tarefa a ser realizada ou seja impossibilitada ou retorne algo
> inesperado ao usuário. No meu caso em específico o problema nem surgiu
> por conta de aplicações instaladas a partir do código fonte e sim pela
> remoção incompleta de pacotes DEB de aplicações que não mais uso.
> Vamos ao fato.
> 
> Logo após fazer a substituição do Etch pelo Lenny, resolvi testar o
> navegador Galeon por algumas semanas, feito isso, para economizar
> precisos bytes de um HD de 40Gb resolvi remove-lo e ficar apenas com o
> Iceweasel. Ontem, ao instalar o pacote debian-reference, que contem o
> Guia de Referencias para um bom uso e o entendimento do Debian, me
> deparei com algo inusitado, ao invés das páginas do guia abrirem no
> meu navegador web, elas apareceram em um navegador somente texto (o
> Lynx) no terminal do Gnome; não que isto seja um problema, mas eu não
> abro mão da comodidade de poder navegar com auxílio de um mouse e ter
> uma boa visibilidade das tabelas e caixas inclusas no guia. Verifiquei
> que o comando que roda o debian-reference é um script de mesmo nome
> localizado em /usr/bin e o mesmo executa um segundo script nesta pasta
> chamado sensible-browser. Entre as linhas deste segundo script percebi
> que há uma seqüencia para abrir o browser padrão do sistema, sendo
> estes "gnome-www-browser", "x-www-browser" e "www-browser", este
> ultimo aberto pelo terminal do gnome. Os três são links simbólicos
> presentes e apontando para bináros em /usr/bin, no entanto, como os
> dois primeiros estavam apontando para o Galeon (que não estava
> instalado), o script executava o "/usr/bin/www-browser" fazendo com
> que fosse aberto o Lynx no terminal.
> 
> Daí fui tentar procurar uma forma de descobrir onde e quais são todos
> os symlinks inválidos no sistema; não conseguindo encontrar nada em
> português resolvi procurar em inglês e achei o link de uma mensagem
> antiga em
> http://www.mail-archive.com/[email protected]/msg29645.html no
> qual um usuário sugeriu o seguinte script para facilitar este
> trabalho:
> .
> #!/bin/sh
> for f in $(find / ! -fstype proc -type l 2>/dev/null); do
>   cd `dirname "$f"` 2>/dev/null
>   if [ ! -e `readlink "$f"` ]; then
>     echo $f
>   fi
> done
> 
> 
> Salve e dê permissões de execução:
> chmod a+x nome_do_script
> 
> Execute:
> ./nome_do_script
> 
> Após a finalização, observe a quantidade de links inválidos
> encontrados e decida o que fazer com os mesmos. No meu caso, foram
> encontrados 281 e eles já estão visitando Zeus no Olimpo :p
> 
> Espero que isto possa servir para outras situações e exemplos.
> Abraços.
> 
> 
> Klebson Porfirio
> DCE-UFAL 2009
> E-mail/MSN: [email protected] - Jabber: [email protected]
> Usuário Linux #481658                       GnuPG-Key ID: 1F293FA6
> ----------------------------------------------------------------------------------------------
> {DEBIAN[GNU(LINUX)]}5.0
> 

Attachment: signature.asc
Description: Esta é uma parte de mensagem assinada digitalmente

Responder a