www.sioban.net
Bienvenue sur l'espace web de Jerome Tytgat
 
?

Viadeo

Rejoignez-moi sur viadeo, le réseau de contacts français :
- Voir mon profil
- Connectez-vous avec moi

Topics

What's New

Articles

Pas de nouveaux articles

COMMENTAIRES last 2 days

Pas de nouveau commentaires

TRACKBACKS last 2 days

No new trackback comments

Liens

Get Firefox Get Thunderbird

Get Ubuntu  Use OpenOffice.org

 Récupérer un fichier supprimé encore utilisé par un programme sous Unix    
 Author:  Admin
 Dated:  Thursday, 12 January 2006 @ 09:41 AM CET
 Viewed:  1 287 times  
RecettesCe truc ne marchera que si on a effacé un fichier, pas si on a écrasé son contenu ( si on l'a supprimé puis créé un fichier du même nom, ça marche. Sinon généralement on a une troncation et ça ne marche pas ) . Il faut également qu'un programme en cours d'exécution ait gardé ce fichier ouvert. Ce qu'il faut savoir, c'est qu'un rm ne fait que virer l'entrée du répertoire pointant vers le fichier ; mais il existe physiquement sur le disque tant que tous les programmes qui l'utilisent ne l'ont pas fermé. On peut penser à une espèce de compteur de référence.

Il faut retrouver le PID du process ayant ouvert ce fichier ; le plus simple c'est encore de faire un lsof | grep nom_du_fichier. La deuxième colonne est le PID dont on a besoin. Faire cd /proc/PID/fd. Dans ce répertoire, on trouvera les file descriptor utilisés par ce programme, c'est à dire les fichiers ouverts. Pour voir ce vers quoi pointent ces descripteurs, ls -la. Une entrée correspondra au fichier effacé sous la forme "N -> nom_du_fichier (deleted)", où N est un nombre. Il suffit alors de faire un cp N vers la destination de son choix ( pourquoi pas celle d'origine ) et voilà !

Évidemment l'ennemi absolu de la récupération de fichier c'est l'écrasement du contenu. Généralement les lourds outils récupérant ce qu'ils peuvent sur le disque ne pourront eux-même rien y faire. Attention que l'astuce ne fonctionne pas non plus sur un mount NFS par exemple.



Option des articles

  • Version imprimable
  • Trackback

    Trackback URL for this entry: http://www.sioban.net/trackback.php/20060112094139485

    No trackback comments for this entry.
    Récupérer un fichier supprimé encore utilisé par un programme sous Unix | 2 commentaires | Créer un nouveau compte
    Ce site n'est pas responsable du contenu des commentaires. Ceux-ci sont de la responsabilité des auteurs
    Récupérer un fichier supprimé encore utilisé par un programme sous Unix
    Appartient à: Anonymous sur Thursday, 19 January 2006 @ 03:57 PM CET
    Bonjour,

    Les références s'appellent des liens physiques et apparaissent en deuxième position de la commande ls -l (lorsque leur nombre n'est pas nul)
    [ # ]