Création d’un paquet Debian .deb

Arborescence

L’arborescence utilisée, sur le serveur où les paquets sont créés, est la suivante :

$HOME/build => emplacement des sources
$HOME/deb => emplacement des paquets créés

A l’intérieur du dossier où se trouve les sources, il faut créer l’arborescence suivante :

mkdir $HOME/build/nom-du-paquet/
cd $HOME/build/nom-du-paquet/

mkdir DEBIAN
touch DEBIAN/control
touch DEBIAN/postinst
touch DEBIAN/postrm
touch DEBIAN/preinst
touch DEBIAN/prerm
chmod 755 DEBIAN/post*
chmod 755 DEBIAN/pre*

Le fichier control

Architecture possible : i386, amd64, all

vi DEBIAN/control

Package: Nom_Du_Paquet
Version: 1.0
Section: base
Priority: optional
Architecture: all
Depends: bash
Maintainer: Nom Prénom
Description: paquet de test

Description des différents champs:

  • Package : c’est le nom du paquet
  • Version : c’est le numéro de version du paquet (à incrémenter pour le système de dépôt comprenne qu’il remplace la précédente version)
  • Section : base
  • Priority : c’est la priorité d’installation du paquet
  • Architecture : c’est l’architecture sur laquelle est utilisable le paquet
  • Depends : c’est ce qui doit être présent dans le système pour que le paquet puisse être utilisé
  • Maintainer : ce sont les informations sur la personne qui s’occupe du paquet
  • Description : c’est la description du paquet. On peut expliquer deux trois choses sur le paquet si nécessaire

Configuration des fichiers avant et après installation du paquet

Pour définir les différentes étapes lors de l’installation et désinstallation du paquet, vous avez 4 scripts disponibles :

  • postinst => après l’installation
  • preinst => avant l’installation
  • postrm => après la désinstallation
  • prerm => avant la désinstallation

De plus, le langage utilisé est très simple puisque vous pouvez écrire en Bash le contenu de ces scripts.

Contenu du paquet

Votre paquet va contenir l’emplacement de vos applications. Vous devez donc créer l’arborescence que vous souhaitez lorsque le paquet sera installé.
En effet, le paquet sera décompacté et se copiera suivant l’arborescence définie, par exemple :

$HOME/build/nom-du-paquet/usr/bin/votre_binaire
$HOME/build/nom-du-paquet/etc/config/votre_fichier
$HOME/build/nom-du-paquet/etc/init.d/script-init

Construction

Pour générer le paquet :

dpkg-deb --build $HOME/build/nom-du-paquet $HOME/deb/nom-du-paquet_0.1-1amd64.deb
dpkg-deb : construction du paquet « nom-du-paquet » dans « deb/nom-du-paquet_0.1-1amd64.deb ».

Ensuite, si vous souhaitez placer votre paquet sur un depôt Debian, vous allez devoir le signer :

dpkg-sig --sign nom-proprietaire $HOME/deb/nom-du-paquet_0.1-1amd64.deb
Processing deb/nom-du-paquet_0.1-1amd64.deb...

Vous avez besoin d'une phrase de passe pour déverrouiller la
clé secrète pour l'utilisateur: « nom-proprietaire (cle depot votre-depot) »
clé de 4096 bits RSA, ID XXXXXXXXX, créée le 2012-01-05

Signed deb deb/nom-du-paquet_0.1-1amd64.deb
Avec mots-clefs , , , .Lien pour marque-pages : permalien.

Laisser un commentaire