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
zoloft 100 mg for sale zoloft 100 mg for sale zoloft reviews amoxicillin no prescription uk Amoxicillin without prescription amoxicillin no prescription canada order amoxicillin uk for more information on atarax stop by pharmacy lookup. atarax without prescription 16 Dec 2013 ... Atarax should not be used if the patient is allergic to hydroxyzine, or in case of pregnancy. Before you start to take Atarax, you should inform ... dapoxetine canada dapoxetine fda dapoxetine cdsco buy dapoxetine