Aller au contenu principal
Tags

,

États des paquets Debian chez les utilisateurs (selon PopCon)

9 juillet 2012

PopCon (pour Popularity contest) permet d’obtenir des statistiques d’utilisation de paquets Debian. La soumission des statistiques est facultative. Si le participant accepte l’envoi des statistiques, chaque semaine, une notification anonyme sera automatiquement envoyée vers Debian contenant les statistiques d’utilisation des paquets. L’état agrégé est visible sur popcon.debian.org et mis à jour quotidiennement.

L’évolution globale de l’utilisation des paquets est visible sur une page dédiée (par exemple, la page de Flobopuyo).

Si un paquet est installé sur une machine, alors il sera considéré dans l’un des quatre états suivants :

  1. « Vote » : paquet récemment utilisé
  2. « Old » : paquet qui n’a pas été utilisé depuis longtemps
  3. « Recent » : paquet récemment mis à jour
  4. « No Files » : informations insuffisantes pour statuer sur son utilisation

La somme des 4 états envoyés par les participants fournit le nombre de machines sur lequel ce paquet est installé. S’il n’est pas installé, il n’est pas comptabilisé.
Sur l’échantillon des paquets que j’ai consulté, les trois premiers états sont largement représentés. Le quatrième est peu courant, probablement car c’est quasiment un cas pathologique (les dates d’accès aux fichiers sont incorrects). Si on néglige ce dernier cas, il est possible de représenter quel est la proportion des trois états d’un paquet pour l’ensemble des participants avec un graphique triangulaire.

Résultat sur un échantillon (15 paquets)

Les paquets affichés dans le graphique :

  • plusieurs logiciels couramment installés et utilisés (directement ou à l’insu de l’utilisateur) : bash, dash, initramfs-tools et anacron ;
  • des navigateurs web : iceweasel (un renommage de Firefox), chromium-browser (la version libre de Google Chrome) et epiphany (le navigateur fourni par Gnome) ;
  • des serveurs web : aolserver4 (les statistiques montrent qu’il est installé sur au moins 47 machines !), apache2, lighttpd et nginx ;
  • deux logiciels de bureautique : libre-office et koffice ;
  • deux jeux équivalents : amoebax (capture d’écran) et flobopuyo (capture d’écran). À titre indicatif, Amoebax est plus installé qu’Aolserver…

Limites

Ignorer l’état No Files

Le fait de négliger le quatrième état n’est pas forcément pertinent pour tous les paquets. Tous les paquets présentés précédemment ont un taux inférieur à 1 % pour le cas de dates invalides à deux exceptions près : libreoffice-common et  nginx.

Proportion de l’état No Files
  • 0 % pour amoebax, flobopuyo et aolserver4-daemon
  • 0,025 % pour iceweasel
  • 0,026 % pour initramfr-tools
  • 0,027 % pour anacron et bash
  • 0,031 % pour dash
  • 0,037 % pour apache2.2-bin
  • 0,043 % pour lighttpd
  • 0,126 % pour koffice-libs
  • 0,149 % pour epiphany
  • 0,696 % pour chromium-browser
  • 4,90 % pour libreoffice-common
  • 38,25 % pour nginx

Vu l’écart, je me demande s’il n’y a pas un problème avec les fichiers surveillés par PopCon pour nginx.

Cas des logiciels séparés en plusieurs paquets

Pour faciliter la maintenance, certains logiciels sont découpés en plusieurs paquets. Dans ce cas, le fait de choisir l’un ou l’autre de ces paquets pour le représenter modifie le résultat : par exemple apache2.2-common (absent du graphique) se situe au même endroit que bash et anacron alors qu’apache2.2-bin est plus près d’anacron. De même pour nginx-common (absent du graphique) qui est placé à côté d’iceweasel alors nginx est situé en dessous d’initramfs-tools.

Il est étonnant que l’ensemble des paquets choisis se situent tous dans la partie basse du graphique. Cependant, l’échantillon est-il vraiment représentatif ?

Résultat sur l’ensemble des paquets

Debian fournit une archive avec les statistiques de l’ensemble des paquets. Après son téléchargement, reformatage et suppression des lignes malformées, voici le graphique que l’on peut obtenir :

Les noms des paquets ne sont pas affichés car ils recouvrent entièrement le graphique, le rendant complètement illisible. Chaque point représente un paquet. L’influence moyenne des trois facteurs considérés est ajouté.

L’état « Recent » ne représente que 10 % des paquets. À mon avis, c’est dû au fait que c’est un état transitoire, les paquets étant considérés par la suite comme utilisé ou pas. La majorité d’entre eux sont considérés comme peu utilisés (le gros pâté noir dans le sommet en bas à droite du triangle). Quels sont les types de logiciels considérés comme peu utilisé, et pour quelles raisons ?

Dans mon cas personnel, en regardant la liste de ces paquets (visible grâce à popularity-contest | grep '<OLD>' en tant que superutilisateur), je constate la présence de logiciels (et de bibliothèques) :

  • que je n’utilise plus et dont j’avais oublié l’existence (fontmatrix) ;
  • que j’utilise rarement mais que je ne veux pas désinstaller car ils peuvent me servir à l’avenir (gftp, traceroute, …) ;
  • qui viennent automatiquement avec des meta-paquets mais que je n’utilise pas (gnome-power-manager, xserver-xorg-video-pleindepucesquinexistentpassurmacartemere, …).

Sources

Les informations concernant le fonctionnement de PopCon proviennent principalement du README et la FAQ fournie par les pages web de popcon elle-même (ou dans le répertoire /usr/share/doc/popularity-contest/ si vous n’avez pas d’accès web actuellement).

Les graphiques ont été réalisés en R (version 2.15.1 (2012-06-22) — "Roasted Marshmallows", disponible dans le paquet r-base), grâce à une bibliothèque externe à R, nommée ade4.
Il est nécessaire d’installer cette bibliothèque sur le système car elle est absente avec les paquets R de base). Le mode d’installation de la bibliothèque ressemble à celui de pip pour Python.
La commande est install.packages("ade4", dep=TRUE).

Voici les données utilisées pour le premier graphique :

Fichier pkgs_deb.csv :

name,vote,old,recent,no_files
epiphany,58,563,47,1
iceweasel,32573,14605,12272,15
chromium-browser,6188,3212,876,72
anacron,52840,2723,4104,16
bash,110628,6120,5826,33
dash,92687,2388,3751,31
initramfs-tools,52369,56181,12319,31
amoebax,11,43,0,0
flobopuyo,26,201,12,0
aolserver4-daemon,30,15,2,0
apache2.2-bin,53491,6032,7339,25
lighttpd,1304,857,173,1
nginx,814,809,109,1073
koffice-libs,431,1122,36,2
libreoffice-common,14696,740,4718,1039

Commandes R :

library(ade4)
pkgs <- read.csv("popcon_pkgs_deb.csv", header=TRUE)
quantites <- data.frame(pkgs$vote, pkgs$old, pkgs$recent)
colnames(quantites) <- c("Utilisé (« vote »)", "Peu utilisé (« old »)", "Mis à jour (« recent »)")
png(file = "popcon_pkgs_deb.png", width = 700, height = 600)
triangle.plot(quantites, label=pkgs$name, clab=0.6, show.position=FALSE)
dev.off()

Pour le second graphique, les données proviennent des statistiques fournies par Debian, reformatées et filtrées car certaines ont des données bizarres. (Bonjour bugreport !)

wget http://popcon.debian.org/all-popcon-results.txt.gz
tar xzvf all-popcon-results.txt.gz
grep "^Package: " all-popcon-results.txt | sed -e "s/ \+ /,/g" | cut -d" " -f2 | grep -v ",0,0,0," | grep ".*,.*,.*,.*,.*" >filtered_popcon.csv

Commandes R :

popcon <- read.csv("filtered_popcon.csv", header=FALSE)
quantites <- data.frame(popcon$V2, popcon$V3, popcon$V4)
colnames(quantites) <- c("Utilisé (« vote »)", "Peu utilisé (« old ») ", "Mis à jour (« recent »)")
png(file = "all_popcon_pkgs_deb.png", width = 700, height = 600)
triangle.plot(quantites, show.position=FALSE, addmean=TRUE, cpoint=0.1)
dev.off()

About these ads

From → Debian

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

%d bloggers like this: