Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites".
Test de l'ISO d'Ubuntu francophone : nous avons besoin de testeurs pour la version francophone d'Ubuntu 14.04. Liens et informations ici.

#1 Le 12/10/2012, à 03:20

Martial34

[RÉSOLU] Liens cassés

Bonjour.
Existe-t-il un script (ou un système quelconque) pour voir les liens cassés qui encombrent le système de fichiers, afin de les supprimer ?
Merci.

Dernière modification par Martial34 (Le 13/10/2012, à 23:08)

Hors ligne

#2 Le 12/10/2012, à 08:25

serged

Re : [RÉSOLU] Liens cassés

find est ton ami !

find -L -type l

Linux-Mint Qiana 64 (Cinnamon) sur ASUS F2A55/AMD A8-5600K APU

Hors ligne

#3 Le 12/10/2012, à 11:20

Martial34

Re : [RÉSOLU] Liens cassés

Merci. J’obtiens ça :

martial@martial:~$ find -L -type l
./.mozilla/firefox/0q0fibw3.default/lock
martial@martial:~$

Que faut-il faire ensuite ?

Hors ligne

#4 Le 12/10/2012, à 15:22

serged

Re : [RÉSOLU] Liens cassés

Martial34 a écrit :

Merci. J’obtiens ça :

martial@martial:~$ find -L -type l
./.mozilla/firefox/0q0fibw3.default/lock
martial@martial:~$

Que faut-il faire ensuite ?

Rien de spécial...
Vu que cd "lock" est dans la cuisine interne de Firefox...

Pour voir tous les liens cassées in faut partir de la racine :

cd /
find -xdev  -L -type l

(le -xdev pour éviter de parcourir les fs "spéciaux")
Éventuellement précédé [le find] d'un sudo ou suivi d'un 2>/dev/null pour éviter les erreurs de droit.
Mais je suppose que tu avais compris...


Linux-Mint Qiana 64 (Cinnamon) sur ASUS F2A55/AMD A8-5600K APU

Hors ligne

#5 Le 12/10/2012, à 21:43

Martial34

Re : [RÉSOLU] Liens cassés

Ce n’est pas gagné :

martial@martial:/$ find -xdev  -L -type l
find: prédicat inconnu « -L »
martial@martial:/$

martial@martial:/$ sudo find -xdev  -L -type l
find: prédicat inconnu « -L »
martial@martial:/$ find -xdev  -L -type l 2>/dev/null
martial@martial:/$

Dernière modification par Martial34 (Le 12/10/2012, à 21:50)

Hors ligne

#6 Le 13/10/2012, à 08:53

serged

Re : [RÉSOLU] Liens cassés

Bon, à l'envers, alors :

find -L -xdev  -type l

L'ordre des paramètres de find est bien mystérieux...

Par contre chez moi, j'ai une erreur mystérieuse :

$ find  -L -xdev -type l
find: Boucle détectée dans le système de fichiers ; ""./lib/recovery-mode/recovery-mode"" est dans la même boucle que "./lib/recovery-mode".
...

C'est normal ?


Linux-Mint Qiana 64 (Cinnamon) sur ASUS F2A55/AMD A8-5600K APU

Hors ligne

#7 Le 13/10/2012, à 09:05

pingouinux

Re : [RÉSOLU] Liens cassés

Bonjour,
Je ne sais pas si c'est normal, mais j'ai la même chose. Le lien /lib/recovery-mode/recovery-mode pointe sur le répertoire dans lequel il se trouve.

Hors ligne

#8 Le 13/10/2012, à 11:08

Postmortem

Re : [RÉSOLU] Liens cassés

Salut,
En couplant find et stat :

find / /tmp /home -xdev -type l -exec bash -c 'stat -L "$0" &> /dev/null; (( $? )) && printf "Lien cassé : %s\n" "$0"' {} \;

Sinon, pour les erreurs de boucle, ça doit être parce qu'en suivant les liens, grâce à l'option -L, find tournerait en rond.


Trusty Tahr (64 bits), Athlon64 3800+, ATI Radeon HD4870

Mot' a dit : « Un Hellfest sans Slayer, c'est comme une galette-saucisse sans saucisse ! »

Hors ligne

#9 Le 13/10/2012, à 23:07

Martial34

Re : [RÉSOLU] Liens cassés

Formidable ! Le script de Postmortem m’a permis de trouver une bonne centaine de liens cassés. Merci à tous. smile

Hors ligne

Haut de page ↑