I. de quoi un package debian est-il composé Techniquement parlant, un package debian (un .deb) est une archive (au même titre qu'un .gz, un .bz2...), interesson nous plutôt à son contenu "global": Un package est avant tout constitué d'un ensemble de fichiers qui vont s'installer sur votre système, ensemble de fichiers qui peut être souvent le résultat d'un "make install", sauf que dans le cas présent les fichiers sont installée "dans le .deb", et vont être installés sur le système lors de l'installation du .deb. Ensuite, un package est également constitué de certaines informations utiles au système, tel que dépendances (par exemple, gnome a besoin de libgnome pour fonctionner), version du package, description etc... Prenons un exemple simple: $ aptitude download hello ceci va avoir pour effet de simplement télécharger le paquet binaire "hello", on se retrouve donc avec par exemple le fichier hello_2.1.1-4_i386.deb. Maintenant, regardons ce qu'il contient: $ dpkg -c hello_2.1.1-4_i386.deb on peut y voir dans un premier temps un binaire, fichier exécutable placé dans /usr/bin En effet, installez hello (sudo aptitude install hello) et tapez 'hello' dans votre terminal. $ hello Bonjour, le monde! Ensuite, regardons la suite du dpkg -c, on peut y voir /usr/share/man/man1/hello.1.gz Ceci est une manpage, ce que vas regarder la commande 'man' pour afficher des informations sur un programme, par exemple dans votre console tapez 'man hello' (q pour quitter man). Ensuite, on peut voir plusieurs fichier dans /usr/share/doc/hello, qui sont NEWS, copyright, changelog.gz et changelog.debian.gz 'NEWS' est un fichier issu des sources du programme hello, que le packageur a dessidé d'installer dans le répertoire des docs (répertoire /usr/share/doc/), les fichiers copyright et changelog.Debian.gz sont quant à eux écrit par le packageur, nous verrons ce que contiennent ces fichiers plus tard. Enfin, changelog.gz est le changelog des sources de hello, issu tout comme NEWS des sources de hello. les autres fichiers sont hello.info.gz (globalement la même chose que man) et des fichiers de traduction (/usr/share/locales/...), ils ne nous interessent pas ici. Passons maintenant aux informations sur le paquet hello: $ dpkg -f hello_2.1.1-4_i386.deb on peut y voir les informations suivantes: Package: nom du paquet binaire Version: numéro de version du paquet Section: 'catégorie' du paquet Priority: priorité Architecture: architecture pour laquelle est buildé ce .deb Depends: dépendances du paquet, ici hello a besoin du paquet 'libc6' pour fonctionner, il dépend donc de libc6 Installed-Size: taille une fois installé sur le système Maintainer: responsable et probablemen packageur du paquet Description: description du paquet. Parfait, passons à la pratique maintenant créez vous un petit répertoire de travail, mkdir classroom && cd classroom téléchargez l'application 'classroom' $ wget -c http://people.dunnewind.net/arthur/classroom-0.1.tar.gz