Sur quels fichier ce programme travaille-t-il en ce moment ?

On s’est tous posé un jour cette question lorsqu’on voulait connaître comment une application fonctionnait ou pour débugger un problème.

Pour savoir sur quels fichier un programme travaille, il y a deux possibilités (si vous en connaissez d’autres, utilisez les commentaires) : utiliser lsof ou find. Le premier n’est malheureusement pas toujours disponible sur tous les unix et n’est pas installé par défaut dans toutes les distributions. En plus, il faut être root pour le lancer, généralement. Mais il donne de sacré bon résultats et permet même d’en savoir un peu plus sur le fonctionnement interne des applications. Je vous renvoie à la page de manuel de lsof pour plus de détails ou cette page pour une petite intro sur les différentes manières d’utiliser lsof. 

La seconde méthode avec find nécessite de connaître dans quel répertoire travaille l’application. Mais comment un outil aussi basique que « find » peut me dire sur quels fichier travaille une application ? Et bien on va utiliser la date de modification du fichier pour savoir si le fichier a été modifié très récemment, si c’est le cas, c’est qu’une application est en train d’écrire dedans (voilà pourquoi il faut connaître dans quel répertoire elle travaille). Bon, voilà pour la théorie (j’espère que c’était assez court 🙂 ). Pour la pratique, il faut utiliser ces commandes-ci :

$ cd directory
$ touch x
$ sleep 1
$ find . -newer x

On obtiendra alors la liste des fichiers qui ont été modifiés dans la dernière seconde (si l’on veut augmenter le délai, il faut changer l’argument de la commande sleep). Vous pouvez bien évidemment cumuler ces différentes commandes avec des « && » ou des « ; », (wordpress m’empêche de poster du shell script correctement).

C’est très basique comme méthode, mais l’avantage est que l’on se passe de lsof et que cela peut donner des résultats satisfaisant dans de nombreux cas. Bien sûr, l’inconvénient majeur est que si plusieurs applications écrivent dans le même répertoire, on ne saura pas laquelle a écrit quoi…

Publicités

Galilée… euh Copernic

La première Release Candidate de Mandriva Linux 2008.0 est sortie.

C’est quoi une Release Candidate ? Bah c’est un peu comme une version bêta, sauf que s’il n’y a pas de bug dedans (ce qui arrive rarement dès la première RC…), alors cela devient la version finale. Celle-ci s’appelle Copernic et préfigure donc ce que sera la version 2008.0 qui sort, je le rappelle le 27 Septembre si tout va bien. Seules quelques mises à jour assez mineures sont encore à effectuer, mais grosso-modo, la RC est très proche de ce que sera la 2008.0.

Dans un mail de Anne (directrice du département engineering), on a aussi un peu plus d’explications sur le planning :

  • Le 07 septembre (oui dans 2 jours), les nouvelles version des logiciels ne seront plus intégrées dans cooker (qui donc se transformera en la version finale le 27 septembre)
  • Le 14 septembre, il ne sera plus possible d’inclure de nouveaux paquetages dans la distribution, si certains changements doivent néanmoins être faits, il seront alors approuvés au cas par cas et intégrés manuellement
  • Le 18 septembre, sortie de la RC2 : elle contiendra donc exactement ce que contiendra la 2008.0, avec quelques bugs en plus évidemment 🙂
  • Le 27 septembre, sortie de la 2008.0 et tout le monde sabre le champagne

Update : Je m’aperçois que je n’ai pas donné d’adresse pour télécharger la RC, mais comme d’hab, vous vous êtes précipité sur le Wiki de Mandriva et vous avez eu raison ! 😉 Sinon, le lien, c’est celui-ci

Publié dans Mandriva. 4 Comments »

Jus de cuisson

Olivier Faurax nous a concocté un résumé des dernières discussions dans la liste « Cooker » (la liste des développeurs de la distribution Mandriva). Il y avait à un moment les cooker weekly news, bi-hebdomadaires, puis le « cooker inside man », tenté par Fabrice Facorat et maintenant, une nouvelle tentative intéressante de la part d’Olivier ! Souhaitons longue vie à ce Jus de Cuisson !

Publié dans Mandriva. 2 Comments »