Re: Recherche de liens symboliques

2006-05-13 Par sujet Bulot Grégory
Le Vendredi 12 Mai 2006 21:26, Bruno Muller a écrit :
> apt-cache show symlinks

ouahhh

je pense que je dois filtrer sur le mot 'dangling' ? sur les quelques tests 
que j'ai fait cela semble cela, mais j'aimerais une confirmation quand même



Re: Recherche de liens symboliques

2006-05-12 Par sujet Bruno Muller
Bonsoir,

Le vendredi 12 mai 2006 à 11:30 +0200, Bulot Grégory a écrit :
> suite problème pour copier mon /etc/ dans /mnt/LvmEtc, j'en profite pour 
> poser 
> les questions suivantes (qui me trotte dans la tête depuis un moment )
> 
> 
> - Je cherche le moyen de trouver tous les liens symboliques à partir de / , 
> de /etc, ... tant pis si la liste est longue
> 
> - Je cherche le moyen de trouver uniquement les symboliques 'cassés'
> 
> s'il existe une solution sans passer par find (long et lourd en terme de 
> ressource) je préfère (j'ai regarder le man locate, l'option -P ne me 
> convient pas, ou je ne sais pas m'en servir)

apt-cache show symlinks
...
Description: scan/change symbolic links
 Symlinks scans directories for symbolic links and lists
 them on stdout. Each link is prefixed with a classification
 of relative, absolute, dangling, messy, lengthy or other_fs.
 .
 Symlinks can also convert absolute links (within the same filesystem)
 to relative links and can delete messy and dangling links.


Bruno

-- 
SNIF ? SNIF ?
P : Tu lui renifles les couilles pour savoir qui c'est ?
M : Nan...
P : Alors pourquoi ?
M : Juste pour lui foutre la honte...



Re: Recherche de liens symboliques

2006-05-12 Par sujet Bulot Grégory
Je reposte mes réponses (après un problème de follow up redirigé vers Robotux 
au lieu de la liste, je vois pas mes messages passer sur la liste), désolé si 
au final ça passe après ce message.


Le Vendredi 12 Mai 2006 12:27, RoboTux a écrit :

> Bon la réponse est trop simple donc cela ne doit pas être ça mais
> sait-on jamais : ls -Rl ne ferait pas ce que tu veux par hasard ?

j'avais absolument pas pensé à cela, bien que 
ls -Rl | grep "^l" serait plus pertinent (à mon goût)
mais je n'ai pas le chemin du liens (celui auquel il est lié oui)

ls -Rl /etc/ | grep "^l"
[...]
lrwxrwxrwx 1 root root9 2006-04-18 07:41 dvorak -> ../dvorak

ce trouve dans /etc/X11/xkb/symbols/macintosh/dvorak alors que la sortie 
précédante laisse supposer que cela se trouve dans le chemin courant / base 
de la recherche


>
> > - Je cherche le moyen de trouver uniquement les symboliques 'cassés'
>
> Là par contre je dirais un petit script bash qui fait un test
> d'existence sur les fichiers pointés par la sortie de la commande citée
> plus haut.
>
> Du genre for i in ls -lR do
>   ls -E `readlink i`
> done

l'option -E n'est pas connue chez moi

>
> (Je suis loin d'être un expert en script shell, les experts me

idem !

néanmoins je poste mon script shell (avec find , c'est long sur mon PII) 
pour la postérité ;-)

lancé comme ceci :
# TestLiensMorts.sh /etc
Voir mieux si dans /etc/cron.daily/ :
TestLiensMorts.sh /etc | mail -s "Liste des liens mort" postmaster


TestLiensMorts.sh
Description: application/shellscript


Re: Recherche de liens symboliques morts / liens symboliques perdus

2006-05-12 Par sujet Bulot Grégory
rha je retransmet sur la liste le follow up du précédant contributeur 
était modifié vers on email perso ...

--  Message transmis  --

Subject: Re: Recherche de liens symboliques morts / liens symboliques perdus
Date: Vendredi 12 Mai 2006 16:41

Le Vendredi 12 Mai 2006 12:27, RoboTux a écrit :
> (Je suis loin d'être un expert en script shell, les experts me
> corrigeront. Néanmoins j'ai peur que ce soit du même acabit que find
> puisqu'il est dit dans le man que cela regarde les fichiers n'existant
> pas à l'instant de l'exécution, (comme find quoi). Du coup la solution
> ce serait de comparer la sortie de readlink i avec ls -R / (ou locate).

moi non plus j'suis pas expert en shell (j'suis resté bloque 15/20 minutes
 car mon script planté : le then n'était pas à la ligne suivante .)

> Des gens pour compléter ?

en espérant mieux j'ai fait un  shell  (qui rammmeux ! sur mon PII),
cf pièce jointe.

lancé comme ceci :
# TestLiensMorts.sh /etc
Voir mieux si dans /etc/cron.daily/ :
TestLiensMorts.sh /etc | mail -s "Liste des liens mort" postmaster

---


TestLiensMorts.sh
Description: application/shellscript


Re: Recherche de liens symboliques

2006-05-12 Par sujet Bulot Grégory
rha je retransmet sur la liste le follow up du précédant contributeur 
était modifié vers on email perso ...

--  Message transmis  --

Subject: Re: Recherche de liens symboliques
Date: Vendredi 12 Mai 2006 14:05

Le Vendredi 12 Mai 2006 12:27, RoboTux a écrit :
> Bulot Grégory wrote:
> > Bonjour,
> >
> > suite problème pour copier mon /etc/ dans /mnt/LvmEtc, j'en profite pour
> > poser les questions suivantes (qui me trotte dans la tête depuis un
> > moment )
> >
> >
> > - Je cherche le moyen de trouver tous les liens symboliques à partir de /
> > , de /etc, ... tant pis si la liste est longue
>
> Bon la réponse est trop simple donc cela ne doit pas être ça mais
> sait-on jamais : ls -Rl ne ferait pas ce que tu veux par hasard ?

j'avais absolument pas pensé à cela, bien que
ls -Rl | grep "^l" serait plus pertinent (à mon goût)
mais je n'ai pas le chemin du liens (celui auquel il est lié oui)

ls -Rl /etc/ | grep "^l"
[...]
lrwxrwxrwx 1 root root9 2006-04-18 07:41 dvorak -> ../dvorak

ce trouve dans /etc/X11/xkb/symbols/macintosh/dvorak alors que la sortie
précédante laisse supposer que cela se trouve dans le chemin courant / base
de la recherche

> > - Je cherche le moyen de trouver uniquement les symboliques 'cassés'
>
> Là par contre je dirais un petit script bash qui fait un test
> d'existence sur les fichiers pointés par la sortie de la commande citée
> plus haut.
>
> Du genre for i in ls -lR do
>   ls -E `readlink i`
> done

l'option -E n'est pas connue chez moi

je dirais plus un truc du genre (ça marche pas, je fignolerais si y'a pas
mieux ;-)   ), c'est avec find puisque cela semble difficile sans :

#!/bin/bash
# find /etc -type l -exec readlink '{}' \;

if [ "$1" -eq "Existance" ] then
if [ ! -a "$2" ] then
echo "existe pas"
else
echo "existe"
fi
fi

if [ "$1" -eq "debut" ] then
find /etc -type l -exec $0 Existance '{}' \;
fi

---



Re: Recherche de liens symboliques

2006-05-12 Par sujet RoboTux
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Bulot Grégory wrote:
> Bonjour,
> 
> suite problème pour copier mon /etc/ dans /mnt/LvmEtc, j'en profite pour 
> poser 
> les questions suivantes (qui me trotte dans la tête depuis un moment )
> 
> 
> - Je cherche le moyen de trouver tous les liens symboliques à partir de / , 
> de /etc, ... tant pis si la liste est longue

Bon la réponse est trop simple donc cela ne doit pas être ça mais
sait-on jamais : ls -Rl ne ferait pas ce que tu veux par hasard ?
> 
> - Je cherche le moyen de trouver uniquement les symboliques 'cassés'

Là par contre je dirais un petit script bash qui fait un test
d'existence sur les fichiers pointés par la sortie de la commande citée
plus haut.

Du genre for i in ls -lR do
ls -E `readlink i`
done

(Je suis loin d'être un expert en script shell, les experts me
corrigeront. Néanmoins j'ai peur que ce soit du même acabit que find
puisqu'il est dit dans le man que cela regarde les fichiers n'existant
pas à l'instant de l'exécution, (comme find quoi). Du coup la solution
ce serait de comparer la sortie de readlink i avec ls -R / (ou locate).

Des gens pour compléter ?

RoboTux

- --




Ma clé GPG est disponible sur http://www.keyserver.net (0x2B8BE385)

Protégez votre vie privée :
- - Signez/chiffrez vos messages.
Respectez celle des autres :
- - Masquez les destinataires de vos mailings
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.3 (GNU/Linux)

iD8DBQFEZGMNXBAlpiuL44URAs1jAJsGWOgOV3diaqEkjzKMpe44P2S77gCfZgYN
c4bKbDq6ANFLDYwnUdHBFIc=
=44Yk
-END PGP SIGNATURE-


-- 
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench   
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Recherche de liens symboliques

2006-05-12 Par sujet Bulot Grégory
Bonjour,

suite problème pour copier mon /etc/ dans /mnt/LvmEtc, j'en profite pour poser 
les questions suivantes (qui me trotte dans la tête depuis un moment )


- Je cherche le moyen de trouver tous les liens symboliques à partir de / , 
de /etc, ... tant pis si la liste est longue

- Je cherche le moyen de trouver uniquement les symboliques 'cassés'

s'il existe une solution sans passer par find (long et lourd en terme de 
ressource) je préfère (j'ai regarder le man locate, l'option -P ne me 
convient pas, ou je ne sais pas m'en servir)



Note : 
au sujet de mon /etc/ dans /mnt/LvmEtc, au cas ou quelqu'un a le temps de me 
filer la réponse :

# cp -aux /etc/* /mnt/LvmEtc (idem avec cp -pRux)
# du -sh /mnt/LvmEtc /etc
13M /mnt/LvmEtc
11M /etc

pourquoi la copie est plus grosse que l'original ? des liens convertit en 
fichier ? d'où  mes 2 premières questions.


Merci