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 >
signature.asc
Description: Esta é uma parte de mensagem assinada digitalmente

