Re: Recherche de liens symboliques
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
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
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
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
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
-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
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