Créer un paquet .deb d'un script simple
Voici une méthode simple pour créer des paquets .deb de vos scripts, c'est bien utile pour les réinstaller facilement sur d'autres machines ou sur un nouveau système
On commence par créer un dossier de travail, on créer un dossier nommé «APP_Linux» dans le dossier Documents, puis dans ce dossier APP_Linux on y créer un dossier du nom de votre application, l'architecture est celle-ci :
APP_Linux (votre dossier de travail)
-- dossier_du paquet/ (doit avoir le même nom que le programme)
---- DEBIAN/ (le dossier DEBIAN qui comprend 5 fichiers dont 1 obligatoire )
------ control (le fichier control obligatoire)
------ preinst (un script de pre installation optionnel)
------ postinst (un script de post installation optionnel)
------ prerm (un script de pre désinstallation optionnel)
------ postrm (un script de post désinstallation optionnel)
---- usr/ (le dossier usr)
------ bin/ (le dossier bin)
-------- votre_programme (votre script)
Explications
Le dossier DEBIAN sert à la construction du paquet, on y trouve le fichier control :
- Package : le nom de votre paquet, il est préférable de ne pas utiliser de majuscule.
- Version : la version de votre programme.
- Section : le type d'application, voir la doc
- Priority : l'importance de votre paquet, généralement votre programme sera noté "optional", voir la doc
- Architecture : les architectures avec lesquelles votre programme est compatible. La plupart du temps, on choisira "all".
- Depends : les dépendances de votre programme (avec la version minimum ex: >= 0.40.0-1).
- Maintainer : le nom et le mail de celui qui s'occupe du .deb.
- Description : la description de votre paquet.
- Homepage : l'adresse de votre site internet si vous en avez un.
On y trouve également les scripts pré et post installation et désinstallation (ils sont optionnels, si vous en créez il faudra les rendre exécutable avec chmod +x ...) :
Ensuite il y a le dossier usr/bin/votre_programme, qui correspond à l'emplacement ou sera placé votre script, ainsi si vous avez un icône pour votre application il faudra créer un dossier share puis icons dans le dossier usr et y placer votre icône, de même pour un lanceur, il faudra créer un dossier applications dans le dossier share et y placer votre fichier .desktop
Exemple
On va prendre un exemple, on va créer une application l'on va nommé «bonjour»
- Dans le dossier de travail on créer un dossier nommé bonjour
- Dans ce dossier de travail on créer un dossier nommé usr puis dans ce dossier on crée un autre dossier nommé bin et on y crée un fichier nommé bonjour sans extension
- On colle ces lignes dans le fichier bonjour, un simple script qui affiche bonjour votre nom avec un émoji (pensez à supprimer les lignes vides en début de programme s'il y en a, sinon vous aurez une erreur)
- On revient dans le dossier nommé bonjour et on crée un dossier nommé DEBIAN dans lequel on créer un fichier nommé control
- On colle ces lignes dans le fichier control
bonjour
control
Création du paquet
Pour créer le paquet, on ouvre le terminal (Ctrl + alt + t), puis il suffit de se déplacer dans le dossier de travail APP_Linux.
cd ~/Documents/APP_Linux
Et on lance cette commande :
dpkg-deb --build bonjour
Vous avez maintenant un fichier bonjour.deb qui a été créer :
Maintenant pour l'installé, vous pouvez double cliquer sur bonjour.deb, soit vous tapez cette commande :
sudo dpkg -i bonjour.deb
Maintenant pour lancer le programme il suffit de taper la commande bonjour dans le terminal :
Pour désinstaller le programme, il suffi de taper cette commande :
sudo apt autoremove bonjour
Créer un paquet .deb d'un script plus évolué
On va créer une application graphique, qui nécessite d'être en root, avec un logo, un lanceur, un copyright et un changelog
Architecture
On commence par créer un dossier de travail, on créer un dossier nommé «APP_Linux» dans le dossier Documents, puis dans ce dossier APP_Linux on y créer un dossier du nom de votre application, l'architecture est celle-ci :
APP_Linux (votre dossier de travail)
-- dossier_du paquet/ (doit avoir le même nom que le programme)
---- DEBIAN/ (le dossier DEBIAN qui comprend 5 fichiers dont 1 obligatoire )
------ control (le fichier control obligatoire)
------ preinst (un script de pre installation optionnel)
------ postinst (un script de post installation optionnel)
------ prerm (un script de pre désinstallation optionnel)
------ postrm (un script de post désinstallation optionnel)
---- usr/ (le dossier usr)
------ bin/ (le dossier bin)
-------- votre_programme (votre script)
------ share/ (le dossier share)
-------- applications/ (le dossier applications)
---------- votre_programme.desktop (le lanceur de votre application)
-------- icons/ (le dossier icons)
---------- votre_icone.png (l'icône de votre application)
-------- doc/ (le dossier doc)
---------- sdtools/ (le dossier sdtools)
------------ copyright (le fichier copyright)
------------ changelog.Debian.gz (le fichier changelog.Debian compressé)
Explications
Le dossier DEBIAN sert à la construction du paquet, on y trouve le fichier control :
- Package : le nom de votre paquet, il est préférable de ne pas utiliser de majuscule.
- Version : la version de votre programme.
- Section : le type d'application, voir la doc
- Priority : l'importance de votre paquet, généralement votre programme sera noté "optional", voir la doc
- Architecture : les architectures avec lesquelles votre programme est compatible. La plupart du temps, on choisira "all".
- Depends : les dépendances de votre programme.
- Maintainer : le nom et le mail de celui qui s'occupe du .deb.
- Description : la description de votre paquet.
- Homepage : l'adresse de votre site internet si vous en avez un.
On y trouve également les scripts pré et post installation et désinstallation (ils sont optionnels, si vous en créez il faudra les rendre exécutable avec chmod +x ...) :
Ensuite il y a le dossier usr/bin/votre_programme, qui correspond à l'emplacement ou sera placé votre script, le dossier usr/share/icons ou est placer votre icône, le dossier usr/share/applications ou est placer votre lanceur .desktop, le dossier usr/share/doc ou sont placer le fichier du copyright et du changelog
Exemple
On va prendre un exemple, on va créer une application l'on va nommé «bonjour++»
- Dans le dossier de travail on créer un dossier nommé bonjour++
- Dans ce dossier de bonjour++ on créer un dossier nommé usr puis dans ce dossier on crée un autre dossier nommé bin et on y crée un fichier nommé bonjour++ sans extension
- On colle ces lignes dans le fichier bonjour++, un simple script qui affiche la liste des SSD ou clé USB monté sur le système dans une fenêtre graphique (pensez à supprimer les lignes vides en début de programme s'il y en a, sinon vous aurez une erreur)
- On rend le fichiers bonjour++ exécutable avec cette commande dans un terminal :
- On revient dans le dossier nommé usr et on crée un dossier nommé share dans lequel on créer un autre dossier nommé applications, on y crée un fichier nommé bonjour++.desktop
- On colle ces lignes dans le fichier bonjour++.desktop
- On revient dans le dossier nommé share dans lequel on créer un autre dossier nommé icons,
on y enregistre cette image :
- On revient dans le dossier nommé share dans lequel on créer un autre dossier nommé doc, puis dans lequel on créer un dossier nommé bonjour++, on y créer le fichier copyright et le fichier changelog.Debian
- On colle ces lignes dans le fichier copyright (licence libre) remplacer votre nom et votre mail ligne 3 et 7
- Puis celles-ci dans le fichier changelog.Debian, on y notera les changements si on créer des mises à jour
- Puis on compresse le fichier changelog.Debian avec cette commande :
- On revient dans le dossier nommé bonjour++ et on crée un dossier nommé DEBIAN dans lequel on créer un fichier nommé control
- On colle ces lignes dans le fichier control, noté que dans les dépendances on à yad, il sera installé avant notre programme
- Toujours dans le dossier nommé DEBIAN on créer un fichier nommé preinst, on va avoir besoin d'un script de pré-installation car on créer un petit script qui sert à lancer notre application avec un sudo graphique
- On colle ces lignes dans le fichier preinst
- Toujours dans le dossier nommé DEBIAN on créer un fichier nommé postrm, on va avoir besoin d'un script de désinstallation pour supprimer le script créer par le preinst
- On colle ces lignes dans le fichier postrm
- On rend les fichiers preinst et postrm exécutable avec cette commande dans un terminal:
bonjour++
cd ~/Documents/APP_Linux/bonjour++/usr/bin && chmod 755 bonjour++
bonjour++.desktop
copyright
changelog.Debian
gzip -9 ~/Documents/APP_Linux/bonjour++/usr/share/doc/bonjour++/changelog.Debian
control
preinst
postrm
cd ~/Documents/APP_Linux/bonjour++/DEBIAN && chmod 755 pre* post*
Création du paquet
Pour créer le paquet, on ouvre le terminal (Ctrl + alt + t), puis il suffit de se déplacer dans le dossier de travail APP_Linux.
cd ~/Documents/APP_Linux
Et on lance cette commande :
fakeroot dpkg-deb --build bonjour++
Vous avez maintenant un fichier bonjour++.deb qui a été créer :
Maintenant pour l'installé, vous pouvez double cliquer sur bonjour++.deb, soit vous tapez cette commande :
sudo dpkg -i bonjour++.deb
Maintenant pour lancer le programme il suffit de cliquer sur le lanceur qui se trouve dans votre menu des applications, dans accessoires :
Pour désinstaller le programme, il suffi de taper cette commande :
sudo apt autoremove bonjour++