Petit aperçu de Nix : il y a plusieurs articles sympas ici, la récente revue de Seb95, à cause de laquelle je suis passé sur cette distribution il y a quelques jours (et sachant que visiblement lui n’y est pas resté!, peut-être qu’il me lit haha), ou cette revue plus ancienne, donc j’essaierai de mettre en avant d’autres aspects.
RabbitMQ 1.8.0
RabbitMQ est une solution de messagerie d'entreprise complète et fiable, qui implémente le standard AMQP (Advanced Message Queuing Protocol). Elle est écrite en Erlang, publiée sous licence MPL et en concurrence avec Apache Qpid et ØMQ.
Le projet RabbitMQ comporte plusieurs composants :
La version 1.8.0, sortie récemment, est la première depuis le rachat de Rabbit Technologies Ltd. par SpringSource, une filiale de VMWare. Elle apporte de nouvelles API pour étendre le fonctionnement de RabbitMQ par des greffons, ainsi que diverses optimisations.
Le projet RabbitMQ comporte plusieurs composants :
- Le serveur, pièce maîtresse, en charge du routage des messages, des files d'attentes, de la gestion des droits, etc. ;
- Des passerelles pour les protocoles HTTP, XMPP et STOMP ;
- Des bibliothèques client AMQP pour Java et .Net (il existe de nombreuses bibliothèques pour les autres langages développées ailleurs) ;
- Des greffons comme Shovel (pour déplacer un message d'une instance de RabbitMQ vers une autre) ou rabbitmq-bql (un langage qui ressemble à du SQL pour interroger et configurer une instance de RabbitMQ).
La version 1.8.0, sortie récemment, est la première depuis le rachat de Rabbit Technologies Ltd. par SpringSource, une filiale de VMWare. Elle apporte de nouvelles API pour étendre le fonctionnement de RabbitMQ par des greffons, ainsi que diverses optimisations.
Les pouvoirs magiques d'Unicorn 1.0.0
Unicorn est un serveur applicatif HTTP en Ruby comparable à Mongrel ou à Thin, sous licence GPLv2. Il est utilisé notamment par Twitter et Github et vient d'atteindre la version 1.0.
Unicorn est compatible avec Rack, une interface entre les serveurs applicatifs et les frameworks. Il peut ainsi être utilisé pour servir des applications Ruby, dont celles écrites en Ruby on Rails. Il tourne avec Ruby 1.8, Ruby 1.9 et bientôt Rubinius. Rappelons que Rubinius est une implémentation alternative de Ruby dont la version 1.0 est sortie récemment.
Unicorn s'appuie au maximum sur les noyaux Unix pour éviter de réinventer la roue. Par exemple, la répartition des requêtes entre les différents processus se fait grâce à une socket partagée. Il est également possible de mettre à jour Unicorn, l'application ou l'interpréteur Ruby sans perdre la moindre connexion.
De même, Unicorn est optimisé pour servir des clients rapides. Il est donc très souvent utilisé derrière un reverse-proxy, qui pourra bufferiser les requêtes des clients lents.
A l'inverse, utiliser Unicorn pour des connexions longues comme du Comet (Comet désigne un ensemble de techniques où un serveur maintient des connexions HTTP ouvertes pour pouvoir pousser des contenus vers les clients) ou des websockets serait très inefficace, je vous conseille pour cela de regarder Rainbows : c'est un projet inspiré d'Unicorn qui vise justement à répondre à cette problématique particulère.
Unicorn est compatible avec Rack, une interface entre les serveurs applicatifs et les frameworks. Il peut ainsi être utilisé pour servir des applications Ruby, dont celles écrites en Ruby on Rails. Il tourne avec Ruby 1.8, Ruby 1.9 et bientôt Rubinius. Rappelons que Rubinius est une implémentation alternative de Ruby dont la version 1.0 est sortie récemment.
Unicorn s'appuie au maximum sur les noyaux Unix pour éviter de réinventer la roue. Par exemple, la répartition des requêtes entre les différents processus se fait grâce à une socket partagée. Il est également possible de mettre à jour Unicorn, l'application ou l'interpréteur Ruby sans perdre la moindre connexion.
De même, Unicorn est optimisé pour servir des clients rapides. Il est donc très souvent utilisé derrière un reverse-proxy, qui pourra bufferiser les requêtes des clients lents.
A l'inverse, utiliser Unicorn pour des connexions longues comme du Comet (Comet désigne un ensemble de techniques où un serveur maintient des connexions HTTP ouvertes pour pouvoir pousser des contenus vers les clients) ou des websockets serait très inefficace, je vous conseille pour cela de regarder Rainbows : c'est un projet inspiré d'Unicorn qui vise justement à répondre à cette problématique particulère.
Le Sharkfest'10 vient de se terminer
Le Sharkfest est un événement annuel qui se déroule aux États-Unis, centré sur l'incontournable Wireshark. Anciennement connu sous le nom d'Ethereal, c'est un « packet sniffer » libre (GPLv2) multi-plates-formes (Linux, Solaris, FreeBSD, Windows, Mac OS X). Véritable couteau suisse de l'analyse de protocole (il en reconnait pas loin de 800), ses utilisations sont multiples : des plus légitimes dépannage, analyse réseau, développement et rétro-ingénierie de protocoles , au plus controversées comme le piratage (au même titre que tout autre logiciel - P2P - ou couteau de cuisine)
Le dernier en date Sharkfest - troisième du nom - s'est déroulé du 14 au 17 Juin 2010 sur le campus de l'université de Stanford à Palo Alto, CA. Les quelques sessions ci-dessous, tirées des programmes officiels, donnent la teneur des échanges :
Le dernier en date Sharkfest - troisième du nom - s'est déroulé du 14 au 17 Juin 2010 sur le campus de l'université de Stanford à Palo Alto, CA. Les quelques sessions ci-dessous, tirées des programmes officiels, donnent la teneur des échanges :
- Scripting and Extending Nmap and Wireshark with Lua ;
- Visibility into the DMZ Network with Wireshark ;
- Advanced Threat Intelligence and Session Analysis.
Mandriva et la pérennité de Mandriva Linux
Suite au un compte-rendu d'un entretien avec Alexandre Zapolsky, PDG de Linagora, diffusé par Frédéric Cuif et Olivier Méjean, (deux membres fondateurs de l'Association des Utilisateurs Francophones de Mandriva Linux), et la dépêche qui a suivi sur LinuxFr.org, l'Association des Utilisateurs Francophones de Mandriva Linux et MandrivaUser.de (communauté germanophone des utilisateurs de Mandriva Linux) demandent de nouveau à la direction de Mandriva de se positionner et notamment de :
Nous souhaitons également apporter notre soutien entier et indéfectible aux développeurs et salariés de Mandriva qui créent et font vivre cette distribution de qualité au jour le jour, en collaboration ouverte avec la communauté des contributeurs et utilisateurs.
L'Association des Utilisateurs Francophones de Mandriva Linux et MandrivaUser.de, avec le support des groupes d'utilisateurs de Colombie, de la communauté néerlandophone, du groupe MIB et de la communauté Brésilienne.
- présenter les projets de continuation possibles ;
- préciser une position officielle de la société Mandriva sur les projets en cours identifiés avec les sociétés : Wallix, Ieurope (idoo.fr), LightApp et Linagora (voire autres).
Nous souhaitons également apporter notre soutien entier et indéfectible aux développeurs et salariés de Mandriva qui créent et font vivre cette distribution de qualité au jour le jour, en collaboration ouverte avec la communauté des contributeurs et utilisateurs.
L'Association des Utilisateurs Francophones de Mandriva Linux et MandrivaUser.de, avec le support des groupes d'utilisateurs de Colombie, de la communauté néerlandophone, du groupe MIB et de la communauté Brésilienne.
WordPress 3.0 "Thelonious”
WordPress est un moteur de blog, écrit en PHP et publié sous licence GPLv2. Matt Mullenweg a annoncé la sortie immédiate de WordPress 3.0 au nom de code "Thelonious". Citons quelques chiffres : WordPress existe depuis 2003, la version 2.0 a été téléchargée plus de 10 millions de fois, le développement de la version 3.0 a pris six mois, 218 contributeurs ont été impliqués, 1217 améliorations apportées et bogues corrigés, et il s'agit de la 13ème version majeure.
Le changement majeur est la fusion de WordPress vanilla et MU (Multi-User) : ceci permet avec une seule installation de faire autant de blogs que la machine peut en supporter. Autre changement de taille, les nouvelles API pour développeurs de thèmes apportent la possibilité de gérer les fonds, entêtes, liens courts, menus, types de publications, et taxinomies. Le nouveau thème par défaut « Twenty Ten » exploite pleinement ces nouveautés. L'interface a été également revue et est plus légère, de l'aide contextuelle a été ajoutée sur tous les écrans, et il est possible de mettre à jour des plugins par lots.
D'autres améliorations ont été apportées sur le tableau de bord, l'édition de posts, le multimédia, les liens, les commentaires, l'apparence, les plugins, les outils, l'installation, le multi-site… Sont remis à plus tard la refonte des rôles et le téléversement de médias. Les développeurs principaux souhaitent désormais se concentrer sur l'écosystème, tout ce qui touche de près ou de loin à WordPress : showcase, Codex, forums, profils, API de mise à jour et de compatibilité, annuaires de thèmes et de plugins, mailing lists, wordcamp.org, etc.
Le changement majeur est la fusion de WordPress vanilla et MU (Multi-User) : ceci permet avec une seule installation de faire autant de blogs que la machine peut en supporter. Autre changement de taille, les nouvelles API pour développeurs de thèmes apportent la possibilité de gérer les fonds, entêtes, liens courts, menus, types de publications, et taxinomies. Le nouveau thème par défaut « Twenty Ten » exploite pleinement ces nouveautés. L'interface a été également revue et est plus légère, de l'aide contextuelle a été ajoutée sur tous les écrans, et il est possible de mettre à jour des plugins par lots.
D'autres améliorations ont été apportées sur le tableau de bord, l'édition de posts, le multimédia, les liens, les commentaires, l'apparence, les plugins, les outils, l'installation, le multi-site… Sont remis à plus tard la refonte des rôles et le téléversement de médias. Les développeurs principaux souhaitent désormais se concentrer sur l'écosystème, tout ce qui touche de près ou de loin à WordPress : showcase, Codex, forums, profils, API de mise à jour et de compatibilité, annuaires de thèmes et de plugins, mailing lists, wordcamp.org, etc.
Sortie de LyX 1.6.6 et LyX 2.0-α4
LyX est un logiciel permettant la saisie de texte structuré utilisant LaTeX pour faire le rendu et est disponible sur les trois principales plate-formes. L'interface utilisateur, en Qt, permet de se faire une idée de l'aspect de la sortie définitive. Plus commercialement parlant, il s'agit d'avoir la qualité du rendu de LaTeX sans avoir à en connaître le langage (toutefois la connaissance de la syntaxe ainsi que les mécanismes de placement des flottants est un plus). L'autre point fort du logiciel est qu'il est auto-documenté dans de nombreuses langues, un nouvel utilisateur peut donc facilement commencer son premier document.
Dernièrement, LyX a atteint le numéro 1.6.6 suivi d'une première révision pour corriger un bogue bloquant,
Le développement de LyX 2.0 se poursuit, une pré-version alpha4 a été publiée. Bien entendu, elle est réservée aux développeurs et il ne faut pas l'utiliser en production. La feuille de route prévoit une sortie définitive en septembre de cette année.
La suite de la dépêche abordera quelques points de l'utilisation de LyX, les nouveautés de cette version et de la version à venir.
Dernièrement, LyX a atteint le numéro 1.6.6 suivi d'une première révision pour corriger un bogue bloquant,
Le développement de LyX 2.0 se poursuit, une pré-version alpha4 a été publiée. Bien entendu, elle est réservée aux développeurs et il ne faut pas l'utiliser en production. La feuille de route prévoit une sortie définitive en septembre de cette année.
La suite de la dépêche abordera quelques points de l'utilisation de LyX, les nouveautés de cette version et de la version à venir.
Petites brèves, spécial Javascript
HTTP-console est un outil en ligne de commande qui vous permet de faire des requêtes HTTP et d'examiner la réponse. C'est donc une sorte de Curl, mais son mode interactif en fait un outil très pratique si vous avez à débugger une API Rest. Pour ceux qui préfèrent les interfaces web à la ligne de commande, vous pouvez regarder Hurl (code source).
PDF.js est une bibliothèque javascript qui permet de générer des fichiers PDF simplement. Elle peut être utilisée dans un navigateur web ou coté serveur avec Node.js.
À propos de Node.js, Ryan Dahl, son créateur, viendra en parler lors du Web Workers Camp le 3 juillet à la Cantine, Paris. Node.js est une implémentation Javascript côté serveur qui utilise le moteur V8 de Google Chrome. Il est publié sous licence MIT et est très performant. Par exemple, il est possible de faire tourner des composants serveur XMPP avec xmpp.js.
Enfin, pour ceux qui préfèrent utiliser jQuery (une bibliothèque Javascript facilitant le développement d'un site web), Rebecca Murphey a mis en ligne un livre intitulé « jQuery fundamentals », sous licence CC by-sa. Celui se compose de trois parties : une introduction au Javascript, les concepts de base de jQuery et jQuery avancé (la troisième partie n'est pas encore là).
StropheCappuccino est un ensemble de classes Javascript qui - comme le nom l'indique - lient Capuccino (framework pour applications desktop-like) à Strophe (bibliothèque XMPP). Il permet donc d'écrire de vraies applications desktop en Javascript se reposant sur XMPP.
PDF.js est une bibliothèque javascript qui permet de générer des fichiers PDF simplement. Elle peut être utilisée dans un navigateur web ou coté serveur avec Node.js.
À propos de Node.js, Ryan Dahl, son créateur, viendra en parler lors du Web Workers Camp le 3 juillet à la Cantine, Paris. Node.js est une implémentation Javascript côté serveur qui utilise le moteur V8 de Google Chrome. Il est publié sous licence MIT et est très performant. Par exemple, il est possible de faire tourner des composants serveur XMPP avec xmpp.js.
Enfin, pour ceux qui préfèrent utiliser jQuery (une bibliothèque Javascript facilitant le développement d'un site web), Rebecca Murphey a mis en ligne un livre intitulé « jQuery fundamentals », sous licence CC by-sa. Celui se compose de trois parties : une introduction au Javascript, les concepts de base de jQuery et jQuery avancé (la troisième partie n'est pas encore là).
StropheCappuccino est un ensemble de classes Javascript qui - comme le nom l'indique - lient Capuccino (framework pour applications desktop-like) à Strophe (bibliothèque XMPP). Il permet donc d'écrire de vraies applications desktop en Javascript se reposant sur XMPP.
Encore une session libre au BTS Informatique de Gap
Vous êtes passionné(e) de logiciels libres, vous avez envie de faire du développement, administration système ou réseau ? Il est encore temps de vous inscrire à la formation de Technicien Supérieur en Informatique de Gestion. Le lycée Dominique-Villars à Gap (Hautes-Alpes) vous propose cette formation professionnalisante sur deux ans en s'appuyant sur GNU/Linux et le logiciel libre.
Quelques outils pour générer des fichiers WebM
Bien que WebM, le nouveau format libre et ouvert de référence pour la diffusion audio et vidéo sur le Web, basé notamment sur le codec vidéo VP8 libéré par Google, ait à peine un mois d'existence, de nombreux logiciels permettent d'ores et déjà de convertir des séquences dans ce format. Plus précisément, c'est le cas de :
À côté de ces outils, permettant d'encoder la vidéo au format VP8, le son au format Vorbis, et de placer le tout dans un conteneur WebM conformément à la spécification, d'autres outils permettent d'effectuer des manipulations sur le conteneur sans intervenir sur l'encodage des pistes audio/vidéo.
C'est le cas de la collection d'outils MKVToolNix (à partir de la version 4.0.0 sortie le 5 juin dernier) parmi lesquels mkvmerge permet de générer des fichiers WebM à partir de sources pré-encodées en VP8 et/ou Vorbis (utile par exemple pour convertir un son Ogg Vorbis en WebM).
Deux autres outils très récents (lancés en mai dernier) sont à signaler :
MiroVideoConverter, disponible sous Windows et MacOSX, est pour sa part une interface graphique aux outils precedemment cités, simplifiant ainsi la conversion de video par simple selection de profil de sortie.
Tous les logiciels cités sont des logiciels libres (selon les cas sous licence GNU LGPL, GNU GPL ou BSD).
- la bibliothèque multimédia GStreamer, à partir des versions GStreamer Good Plugins 0.10.23, Ugly Plugins 0.10.15 et Bad Plugins 0.10.19 sorties le 31 mai dernier et donc des nombreux logiciels basés dessus (PiTiVi, Transmageddon, Arista...) ;
- la collection de logiciels FFmpeg (à partir de la version 0.6 qui vient de sortir le 15 juin) et des logiciels basés dessus tels Miro Video Converter (pour Windows et Mac OS X seulement).
À côté de ces outils, permettant d'encoder la vidéo au format VP8, le son au format Vorbis, et de placer le tout dans un conteneur WebM conformément à la spécification, d'autres outils permettent d'effectuer des manipulations sur le conteneur sans intervenir sur l'encodage des pistes audio/vidéo.
C'est le cas de la collection d'outils MKVToolNix (à partir de la version 4.0.0 sortie le 5 juin dernier) parmi lesquels mkvmerge permet de générer des fichiers WebM à partir de sources pré-encodées en VP8 et/ou Vorbis (utile par exemple pour convertir un son Ogg Vorbis en WebM).
Deux autres outils très récents (lancés en mai dernier) sont à signaler :
- mkclean qui permet d'optimiser un fichier WebM. Suite à son utilisation, la taille de votre fichier sera éventuellement réduite, les non-conformités seront le cas échéant corrigées et l'index sera placé en tête du fichier pour optimiser la lecture sur Internet.
- mkvalidator permet de s'assurer de la conformité d'un fichier WebM.
MiroVideoConverter, disponible sous Windows et MacOSX, est pour sa part une interface graphique aux outils precedemment cités, simplifiant ainsi la conversion de video par simple selection de profil de sortie.
Tous les logiciels cités sont des logiciels libres (selon les cas sous licence GNU LGPL, GNU GPL ou BSD).
Éditorial sonore juin 2010
vlam vlom vlim vloummmm ! ... ! ... Après un peu d'attente, voici une version courte de l'éditorial sonore paru sur linuxmao.org pour mettre l'eau à la bouche des MAOistes libres, avec :
- Les premiers retours d'expérience sur la nouvelle version d'Ubuntu, Lucid Lynx qui viennent d'arriver sur le forum ;
- La sortie de la nouvelle version d'apodio ;
- Ce mois-ci, c'est Visio qui nous fait partager la musique qu'il a créée sous Linux. Ça a un petit goût rétro bien sympathique et il explique les techniques qu'il a utilisé pour créer ses titres ;
- Et pas mal de mises à jour logicielles pour : Foo YC-20, gst123, dssi-vst, zynaddsubfx, frescobaldi, nted, Rubber Band Library, Jacker, QTractor, Aumix, MMA, Rivendell, Guitarix et Fmit.
Actualités du monde XMPP
Voici une petite compilation d'actualités du monde XMPP. Au menu, une pincée de nouveaux clients, des bonnes nouvelles version de serveurs, quelques soupçons d'interviews et en guise de dessert, des curiosités à ne pas louper.
Commençons par une petite série de nouveaux clients de messagerie instantanée XMPP, avec respectivement leur environnement/langage de développement, licence, plate-forme d'exécution, ainsi que leur particularité.
Commençons par une petite série de nouveaux clients de messagerie instantanée XMPP, avec respectivement leur environnement/langage de développement, licence, plate-forme d'exécution, ainsi que leur particularité.
- Swift : développé en C++ et Qt sous GPLv3. Fonctionne sous Linux, Mac OS X et l'autre OS. Concentration sur les tâches les plus courantes et peu d'interruptions non-nécessaires de l'utilisateur.
- Jappix : développé en PHP sous aGPLv3 pour le Web. Réseaux sociaux et respect de la vie privée.
- Poezio : développé en Python sous GPLv3 pour un fonctionnement en mode console. IRC-like.
- Papaya : développé en XUL sous MPL 1.1 pour Firefox mobile. Expérimentation d'extension mobile.
- Cleartext ESM : Développé avec Adobe Air sous une licence propriétaire. Fusion du chat et du microblogging.
- Fabio Forno : développeur Lampiro ;
- Dave Cridland : XSF Council ;
- Florian Jensen : XSF Board ;
- Simon Tennant : développeur BuddyCloud.
- Archipel : l'orchestrateur de machines virtuelles, basé sur libvirt et Capuccino ;
- S5 over XMPP : la présentation XHTML+CSS+Javascript contrôlée à distance.
Gérez vos projets avec Trac
Trac est un outil de gestion de projets écrit en Python et distribué sous licence BSD. Il combine un wiki, un outil de suivi de demandes et un explorateur SVN (ou d'autres SCM).
C'est donc un projet similaire à InDefero, Retrospectiva ou Redmine. Trac est moins avancé que ces outils pour l'aspect multi-projets, mais ses nombreux greffons lui permettent de rester en tête en nombre de fonctionnalités.
La version 0.12 est sortie récemment et apporte de nombreuses améliorations. Parmi celles-ci, citons les plus importantes :
C'est donc un projet similaire à InDefero, Retrospectiva ou Redmine. Trac est moins avancé que ces outils pour l'aspect multi-projets, mais ses nombreux greffons lui permettent de rester en tête en nombre de fonctionnalités.
La version 0.12 est sortie récemment et apporte de nombreuses améliorations. Parmi celles-ci, citons les plus importantes :
- Prise en charge de l'internationalisation avec Babel ;
- Gestion de plusieurs dépôts par instance ;
- Syntaxe wiki plus souple, plus intuitive, et plus proche de Wiki Creole ;
- Amélioration de l'interface de gestion des tickets et commentaires ;
- Ajouts de fonctionnalités au wiki : renommer de pages, Universal Edit Button, prévisualisation automatique, etc.
Revue de presse - Juin 2010
Si vous ne vous êtes pas encore rendus chez votre marchand de journaux, voici les magazines sortis en début de mois et qui viennent compléter les bimestriels du mois dernier toujours en vente :
Bonnes lectures
Addendum (18 juin) : La déferlante Ubuntu 10.04 continue avec
- GNU/Linux Magazine France n°128 sur la détection d'intrusion
- Le hors série Linux Pratique n°18 spécial ligne de commande
- Linux Pratique Essentiel n°14 dédié à Ubuntu 10.04 Lucid Lynx sous l'angle de l'optimisation
- Hors série Planète Linux n°22 consacré lui aussi à Ubuntu 10.04
Bonnes lectures
Addendum (18 juin) : La déferlante Ubuntu 10.04 continue avec
- la sortie du premier numéro de Maximum Linux consacré à cette distribution et qui la fournie sur un DVD (avec coffret. Serait-ce une renaissance de ce magazine décédé au début de ce millénaire ?
- Linux Identity Set qui propose un DVD multi-boot contenant différentes variantes d'Ubuntu en 32 et 64 bits : Ubuntu, Kubuntu, Mythbuntu, Xubuntu et la version Ubuntu Netbook Edition
XMP PHP Toolkit v2.0
L'extension PHP5 XMP PHP Toolkit vient de sortir en version 2.0. Cette nouvelle version développée par Mathias Vitalis est basée sur le dernier Adobe XMP Toolkit. Cette extension permet de lire, écrire, modifier, parser, parcourir les métadonnées d'un fichier multimédia, et est proposée en licence GPLv3.
Cette extension permet, au sein de PHP5, de disposer des classes XMP d'Adobe et de leurs méthodes, afin de lire, modifier, extraire les métadonnées XMP d'une multitude de fichiers multimédia (jpg, eps, pdf, psd, mp3, avi, mpeg, flv, wav... et dans cette nouvelle version, les .mov). Écrite en C++, cette extension permet d'ouvrir et manipuler ces données avec une grande rapidité. Vous pourrez donc au sein de votre application PHP5, ouvrir ce genre de fichier, en extraire les métadonnées et les indexer comme vous le voulez. Cette version 2.0 a été testée sous système Debian, Debian 64bits, FreeBSD et Mac OS X.
Cette extension permet, au sein de PHP5, de disposer des classes XMP d'Adobe et de leurs méthodes, afin de lire, modifier, extraire les métadonnées XMP d'une multitude de fichiers multimédia (jpg, eps, pdf, psd, mp3, avi, mpeg, flv, wav... et dans cette nouvelle version, les .mov). Écrite en C++, cette extension permet d'ouvrir et manipuler ces données avec une grande rapidité. Vous pourrez donc au sein de votre application PHP5, ouvrir ce genre de fichier, en extraire les métadonnées et les indexer comme vous le voulez. Cette version 2.0 a été testée sous système Debian, Debian 64bits, FreeBSD et Mac OS X.
latrace, le traceur qui instrumente le chargeur dynamique
Le chargeur dynamique ld.so projette en mémoire les bibliothèques partagées référencées par un binaire. Pour ceux qui ont déjà décroché, lancez un terminal, et
Quel est l'intérêt de pouvoir instrumenter les opérations du chargeur dynamique me direz-vous ? Cela permet - entre autres - de tracer l'appel et le retour de fonctions appartenant aux bibliothèques partagées. La signature des fonctions permet de détailler le nombre et le type des arguments ainsi que le type de la valeur de retour. Les amateurs de ltrace apprécieront la similitude.
La différence entre les deux outils provient du fait que latrace utilise une interface inexploitée du chargeur dynamique nommée rtld-audit, disponible sur les libc dont la version est supérieure ou égale à 2.4. Cette dernière est inspirée par l'interface d'audit de Solaris. Là où ltrace échoue à tracer des applications multithreadées, latrace s'en sort haut la main.
La dernière version de latrace, la 0.5.9, date de mai 2010. Latrace est sous licence GPLv3. Si vous vous retrouvez un jour bloqué par ltrace, pensez à latrace !
ldd /bin/bashlistera les bibliothèques dont bash dépend.
Quel est l'intérêt de pouvoir instrumenter les opérations du chargeur dynamique me direz-vous ? Cela permet - entre autres - de tracer l'appel et le retour de fonctions appartenant aux bibliothèques partagées. La signature des fonctions permet de détailler le nombre et le type des arguments ainsi que le type de la valeur de retour. Les amateurs de ltrace apprécieront la similitude.
La différence entre les deux outils provient du fait que latrace utilise une interface inexploitée du chargeur dynamique nommée rtld-audit, disponible sur les libc dont la version est supérieure ou égale à 2.4. Cette dernière est inspirée par l'interface d'audit de Solaris. Là où ltrace échoue à tracer des applications multithreadées, latrace s'en sort haut la main.
La dernière version de latrace, la 0.5.9, date de mai 2010. Latrace est sous licence GPLv3. Si vous vous retrouvez un jour bloqué par ltrace, pensez à latrace !