Développement4 juillet 2026· via DEV Community

purefetch : l'outil Rust sans dépendance pour votre système

purefetch : l'outil Rust sans dépendance pour votre système

Image : DEV Community

Imaginez un outil d'information système qui ne dépend de rien : pas de libc, pas de crates.io, pas même de bibliothèques de couleurs. C'est purefetch, une nouvelle utilitaire Rust de 484 Ko entièrement bâti à partir de std et d'appels système Linux bruts.

Ce qui le rend unique

La plupart des outils d'information système s'appuient sur des crates externes comme sysinfo ou nix pour analyser /proc et /sys, mais purefetch les évite complètement. Les seules exceptions sont deux appels système Linux — statfs pour l'usage du disque et ioctl pour la taille du terminal et les vérifications du TTY — gérés via de l'assembleur en ligne. Quatre architectures sont prises en charge : x86_64, aarch64, riscv64 et loongarch64, chacune avec des conventions spécifiques d'appels système. L'auteur a cross-compilé et testé chacune sous QEMU pour confirmer le bon fonctionnement des appels bruts de bout en bout.

Un problème avec ZFS et une leçon sur les logos

Sur les systèmes avec ZFS en racine, MemTotal - MemAvailable peut mal rapporter l'usage de la RAM car le cache ARC du noyau n'est pas compté comme récupérable. purefetch soustrait la partie récupérable du ARC (arcstats.size - c_min) pour correspondre aux outils comme Fastfetch et à htop (version ZFS). Dans un cas, cela a réduit l'usage affiché de 37 GiB à 15 GiB.

Le rendu du logo a aussi enseigné une leçon difficile. Le générateur de logo original en Python émettait des codes de couleur sans le préfixe truecolor approprié, transformant les couleurs vives de la marque en texte terne. Après plusieurs rendus sans activation des couleurs, le bug est resté invisible jusqu'à une inspection manuelle.


Source : DEV Community. Synthèse éditoriale assistée par IA — TechnoExpress.

Lire la source originale sur DEV Community →

← Retour à l'accueil