4.9 KiB
4.9 KiB
📦 Créer un paquet Debian (.deb)
Ce document explique pas à pas comment créer un paquet Debian propre, avec :
- l’arborescence correcte
- les dépendances
- les scripts d’installation
- la construction du fichier
.deb
Ce guide s’adresse aux systèmes Debian / Ubuntu et dérivés.
- 📦 Créer un paquet Debian .deb
Prérequis
Outils nécessaires :
sudo apt install build-essential dpkg-dev lintian
Optionnel mais recommandé :
sudo apt install fakeroot
Arborescence minimale d’un paquet Debian
Un paquet Debian est une simple arborescence de fichiers.
Exemple pour un paquet mon-paquet version 1.0 :
mon-paquet-1.0/
├── DEBIAN
│ └── control
└── usr
└── bin
└── mon-paquet
Création des dossiers
mkdir -p mon-paquet-1.0/DEBIAN
mkdir -p mon-paquet-1.0/usr/bin
Le fichier DEBIAN/control
Le fichier control est obligatoire.
nano mon-paquet-1.0/DEBIAN/control
Exemple complet
Package: mon-paquet
Version: 1.0
Section: utils
Priority: optional
Architecture: amd64
Maintainer: Le Garage Numérique <contact@legaragenumerique.fr>
Depends: bash (>= 5.0), curl
Description: Exemple de paquet Debian
Description longue sur plusieurs lignes.
Chaque ligne doit commencer par un espace.
Champs importants
| Champ | Description |
|---|---|
| Package | Nom du paquet |
| Version | Version du paquet |
| Architecture | amd64, all, arm64, etc |
| Depends | Dépendances APT |
| Description | Description courte + longue |
Gérer les dépendances
Les dépendances sont listées dans Depends:.
Syntaxe
Depends: paquet1, paquet2 (>= 1.2), paquet3 | alternative
Exemples
Depends: python3, python3-requests
Depends: systemd | sysvinit
APT installera automatiquement les dépendances lors de l’installation.
Arborescence complète recommandée
mon-paquet-1.0/
├── DEBIAN
│ ├── control -> Infos sur le paquet
│ ├── postinst -> script éxécuté après la mise en place des fichiers (installation)
│ ├── prerm -> script éxécuté avant la désinstallation
│ └── postrm -> script éxécuté après la désinstallation
├── usr
│ ├── bin
│ │ └── mon-paquet
│ └── share
│ ├── doc
│ │ └── mon-paquet
│ │ └── README.md
│ └── applications
│ └── mon-paquet.desktop
└── etc
└── mon-paquet
└── config.conf
Création rapide
mkdir -p mon-paquet-1.0/{DEBIAN,usr/bin,etc/mon-paquet}
mkdir -p mon-paquet-1.0/usr/share/{doc/mon-paquet,applications}
Scripts Debian (postinst, prerm, postrm)
Ces scripts sont exécutés automatiquement.
postinst (après installation)
#!/bin/sh
set -e
echo "Installation terminée"
prerm (avant suppression)
#!/bin/sh
set -e
echo "Suppression du paquet"
Permissions obligatoires
chmod 755 mon-paquet-1.0/DEBIAN/postinst
chmod 755 mon-paquet-1.0/DEBIAN/prerm
chmod 755 mon-paquet-1.0/DEBIAN/postrm
Construire le paquet .deb`
dpkg-deb --build --root-owner-group mon-paquet-1.0
Résultat :
mon-paquet-1.0.deb
Tester le paquet
Installation
sudo apt install ./mon-paquet-1.0.deb
Vérification
dpkg -l mon-paquet
Analyse qualité
lintian mon-paquet-1.0.deb
✉️ Maintenu par Le Garage Numérique