Un tutoriel simple pour créer et installer votre propre package deb.
Rien d'autre qu'un système d'exploitation Debian, Ubuntu ou tout autre système d'exploitation basé sur Debian
L'application Mypackage ouvrira le site Web officiel d'Ubuntu une fois exécutée.
Nomenclature de notre dossier mypackage_1.0_all
: package-name_version_architecture
.
Nom du package : mypackage
Version : 1.0
Architecture : il peut s'agir all
ou d'un sous-ensemble des architectures prises en charge
Architecture du package brut :
. └── mypackage_1.0_all # Dossier principal du package ├── DÉBIAN │ ├── contrôle # Fichier avec les informations principales du package │ ├── postinst # Script exécuté après l'installation │ └── preinst # Script exécuté avant l'installation ├── choisir │ └── mypackage # Dossier contenant notre logiciel │ └── open_link.sh # Script d'ouverture du navigateur sur ubuntu.com └── usr └── partager ├── candidatures │ └── mypackage.desktop # Fichier avec les informations sur l'application dans le lanceur └── icônes └── mypackage.xpm # Icône de l'application de lancement
En savoir plus sur le fichier DEBIAN/control
:
Package: mypackage
Version: 1.0 # package version
Architecture: all # our package sums up to a bash script and this is POSIX
Essential: no # essential to the system ?
Priority: optional # install order in package management system
Depends: curl,zenity # comma-separated dependency packages (,)
Maintainer: flavienbwk
Description: A sample package...
Bien qu'il existe des moyens d'installer des archives deb sans sudo, la plupart des packages deb sont conçus pour être installés à l'échelle du système. Cela signifie que les scripts pré-installation et post-installation ou tout autre binaire inclus dans l'archive peuvent s'exécuter sans aucune restriction sur votre système (voir les packages Snap pour une alternative). Vérifiez trois fois vos scripts et soyez prudent lors du partage afin de ne pas casser l'ordinateur de quelqu'un.
Construire
dpkg-deb --build ./mypackage_1.0_all
Installer
sudo gdebi -n ./mypackage_1.0_all.deb # test (nécessite gdebi-core) sudo dpkg -i ./mypackage_1.0_all.deb # install
Remarque Désinstaller avec
sudo apt autoremove mypackage
Vous devriez voir Mypackage dans votre lanceur :
La première option est la plus simple : on peut installer les packages localement.
Créez un dossier où sera situé notre référentiel et déplacez notre package .deb
à l'intérieur
mkdir -p ./miroir/piscine cp ./mypackage_1.0_all.deb ./mirror/pool/
Créer le fichier d'index Packages
cd ./miroir dpkg-scanpackages -m ./pool > Paquets
Ajoutez le répertoire aux sources de votre système
echo "fichier deb [trusted=yes] :/chemin/vers/dépôt/miroir /" | sudo tee /etc/apt/sources.list.d/mypackage.list
Mettez à jour la définition de vos packages et installez-les
sudo apt mise à jour sudo apt installer mon paquet
Les référentiels installés localement peuvent ensuite être servis à partir d'un simple serveur Apache sur votre propre machine.
Vous pouvez choisir de créer votre archive de packages personnels (PPA), hébergée sur , puis accessible à tous avec une simple commande add-apt-repository ppa:<repository_name>
.
Si vous souhaitez que votre package soit publié dans les référentiels univers/multivers d'Ubuntu, cela peut s'avérer délicat car vous devez obtenir l'approbation d'un MOTU. Vous voulez le publier sur main ? Cela fait beaucoup de conditions à remplir, notamment la sécurité et l'engagement sur les critères de maintenance.
Les packages META sont des packages qui n'installent rien d'autre qu'une liste de dépendances.
C'est ainsi que vous pouvez installer un bureau entier via un seul package.
APT est le système de gestion de paquets traditionnel utilisé par Debian et ses dérivés (y compris Ubuntu). Il a fait ses débuts en 1998 et utilise des packages .deb
.
Snap, introduit par Canonical en 2014, est un gestionnaire de packages plus récent conçu pour faciliter la distribution des packages sur différentes distributions Linux. Il regroupe les dépendances au sein de chaque package .snap
, ce qui conduit à des tailles de package plus grandes mais atténue « l'enfer des dépendances ». Cela est particulièrement utile dans les systèmes hors ligne.
Les principales différences sont que les packages Snap se concentrent sur la compatibilité entre distributions et l'auto-confinement, une sécurité potentiellement meilleure grâce au sandboxing des packages et aux mises à jour automatiques. APT, en revanche, s'appuie sur des bibliothèques à l'échelle du système, ce qui réduit la taille des packages mais peut entraîner des problèmes de dépendance.